Java 如果我们已经有了集合,为什么还要创建集合?
所以我知道Collections是一个实用类,Collection是一个基本接口。然而,我仍然不明白为什么集合中的方法不能直接放入集合中?这只是为了让事情变得更容易吗 集合和集合中的方法之间是否存在差异?也许有些方法是由不同的集合实现的?因此,对于更通用的方法,它们被扔进了实用程序类集合Java 如果我们已经有了集合,为什么还要创建集合?,java,collections,Java,Collections,所以我知道Collections是一个实用类,Collection是一个基本接口。然而,我仍然不明白为什么集合中的方法不能直接放入集合中?这只是为了让事情变得更容易吗 集合和集合中的方法之间是否存在差异?也许有些方法是由不同的集合实现的?因此,对于更通用的方法,它们被扔进了实用程序类集合 我想我只是好奇,你是如何决定把什么扔进集合还是给开发人员的集合?有人能举一些例子吗 集合是一个接口。它定义了实现集合的所有类都必须遵守的约定:具有size方法、迭代器方法等 Collections是一个实用类,
我想我只是好奇,你是如何决定把什么扔进集合还是给开发人员的集合?有人能举一些例子吗 集合是一个接口。它定义了实现集合的所有类都必须遵守的约定:具有size方法、迭代器方法等 Collections是一个实用类,包含与各种集合实现相关的方法:创建空集、将任何列表转换为同步列表等。这些方法不属于集合:必须创建新集合才能创建空集是愚蠢的,不是吗 现在,使用Java8,所有这些静态方法都可以是集合接口的静态方法。但是 这已经太晚了,因为自Java2以来就存在集合 它们太多了,最好将它们分开保存,以避免混淆集合界面,并使其不易理解。
但是,请注意,自Java 8以来,由于有了默认方法,这些静态实用工具方法中的一些或至少一个成为了实例方法:您现在可以使用list.sortcomparator对列表进行排序,而不是使用Collections.sortlist、comparator。当然,Collections.sort仍然存在:删除它将破坏数百万个现有程序。我很好奇,为什么您不能将Collections.sort中的方法放入Collectionlike.sort中。开发人员如何决定某些方法保留在集合中,由不同的集合(如ArrayList)具体实现,或者其他一些方法将放入集合中以供普遍使用?非常感谢。这正是我想要的答案。