9.6 小结

    本章我们学习了一种能往其中放入多个元素的东西——容器。并且了解到因为在内存上存储数据的方式不一样,各种容器的性能也不同,没有一种容器在各方面都是最优的,而是优缺点兼具。多数语言都支持数组和链表两种容器。

    另外,我们还学习了字符串和值的对应方式。它也会因为实现方式不同而具有各种优缺点。多数语言都支持散列表。

    在本章后半部分我们一起探讨了一种可以放入任意多字符的东西——字符串。字符串也有很多种类。首先是何为字符的问题(字符集的差异),其次是如何用比特列来表示字符的问题(字符编码方式的差异),再次是如何有针对性能在内存中存储信息的问题(字符串的实现的差异)。多数语言都支持字符串,但方式绝对不是一样的。

    最后,我们讨论了试图在实现方式上解决这些差异性的问题的方案,如 Python 语言和 Ruby 语言中的实现方案。同时我们了解了试图在标准制定上解决这些问题的方案,如来自谷歌公司和苹果公司的提议。作为一名程序设计者,笔者倾向于给在实现方式上解决问题的方案给予更高的评价,但我也深知,这个地球不是单靠程序员运转的,现实中还有很多不依赖于程序实现方式的解决方案。