版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011066470/article/details/83067967
1.collection :分为list和set
list中的元素:有序,元素可以重复;凡是可以操作角标的方法都是该体系特有的方法,crud操作
set中的元素:无序,元素不可以重复;
在迭代过重,如果想要对元素进行其他操作,如添加、修改,将用到Iterator子接口listIterator
2.不同list的区别
arraylist:底层的数据结构为数组,特点是:查询快,增加,删除稍慢。
linkedlist:底层使用的链表数据结构;特点是:增、删 快,查询稍慢。
vector:底层使用的是数组,线程同步;
3.linkedlist
LinkedList link=new LinkedList();
link.addFirst("liu");
link.addFirst("ju");
link.addFirst("fu");
System.out.println("first:"+link);
结果:
first:[fu, ju, liu]
LinkedList link2=new LinkedList();
扫描二维码关注公众号,回复:
4710024 查看本文章
link2.addLast("beijing");
link2.addLast("shanghai");
link2.addLast("tianjing");
System.out.println("last:"+link2);
结果为:
last:[beijing, shanghai, tianjing]
getFirst(),getlast(),获取元素,但不删除元素
removeFirst,removeLast,获取元素,且删除元素。
4.hashset
hashset:底层的数据结构为哈希表
hashset是如何保证元素唯一性呢?
通过hashcode和equals,如果hashcode相同,再判断equals方法是否为true,判断元素是否存在。
并且删除元素也均依赖于hashcode和equals方法。
5.vector
Vector v=new Vector();
v.add("ljf");
v.add("haha");
Enumeration en=v.elements();
while(en.hasMoreElements()){
System.out.println("zhi:"+en.nextElement());
}
结果为: