Collection,List,Set

来源:互联网 发布:3d智能试衣镜 知乎 编辑:程序博客网 时间:2024/06/08 08:40

Collection,List,Set

Collection和list,Set的关系

 在整个java类集中最常使用的类集接口有CollectionSetList接口,注意以上都是接口。CollectionListSet两个接口的基接口,
List和Set的区别,List是有序的且可重复,但Set是无序的且不可重复。
注:(Set是因为不可重复,当放入两个相同的数值进入时,默认存第一个),接下来先说说Set和List的存储过程
Set的常用具体实现由hashSet和TreeSet类,其中HashSet能快速定位一个元素,但是你放到HashSet中的对象需要实现hashCode()方法,它使用了前面说过的哈希码的算法。而TreeSet则将放入其中的元素按序存放,这就要求你放入其中的对象是可排序的,这就用到了集合框架提供的另外两个实用类Comparable和Comparator。一个类是可排序的,它就应该实现Comparable接口。有时多个类具有相同的排序算法,那就不需要在每分别重复定义相同的排序算法,只要实现Comparator接口即可。
List的存储过程,常用具体实现ArrayList和LinkedList。你可以将任何东西放到一个LIST
里面,并在需要时从中取出,ArrayList从其命名中可以看出它是一种类似数组的形式进行存储,因此它的随机访问速度极快,而LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作。在具体应用时可以根据需要自由选择。前面说的Iterator只能对容器进行向前遍历,而ListIterator则继承了Iterator的思想,并提供了对List进行双向遍历的方法。
原创粉丝点击