如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
java集合(容器)总结1.种类:setlistmapqeque接口<1>set:无序且不可重复<2>list:有序且可以重复<3>map:有映射关系的集合(键-值)<4>quque:队列集合Set:Set接口不允许包含相同的元素方法用equal()来比较返回true,则set不接受这两个对象HashSet是set接口的典型实现,HashSet按hash算法来存储集合中的元素具有很好存储和查找性能比较方法equa()和hashCode()允许有null值List:Arraylist和vector是list接口的两个典型实现,区别:vector是线性安全的性能比Arraylist要低相同:基于数组实现的list类。List还有一个基于链表实现的LinkedList类,插入和删除的神速度非常快即实现了List接口,也实现了Dueue接口(双向队列)。也可以用栈使用List就相当于所有key都是int型的MapQuque:用于模拟队列的数据结构。LinkedList和ArrayDueue是其两个比较常用的实现类.Map:常用的实现类:HashMap、HashTable、TreeMap。TreeMap是基于红黑树对TreeMap中所有key进行排序,是有序的。HashMap和HashTable区别:<1>HashTable线程安全性能差些<2>HashMap的key或者value可以为nullMap中的value可以重复<3>数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半集合类还提供了一个工具类Collections。主要用于查找、替换、同步控制、设置不可变集合Arraylist和LinkedList区别:ArrayList是顺序存储的线性表采用数组实现LinkedList是链式存储(双向链表)。随机存储比较频繁的元素操作用Arraylist是可变数组读取效率很高排序使用Collections类的sort()经常需要增加、删除元素应该选用LinkedList。Arraylist比LinkedList性能好Arraylist线程不安全LinkedList:下标从0开始注:若数组没有添加下标为0的元素list6.add(0,"123");则list6.addFirst(“asasa”);默认下标为0数组和List的转换:Arrays类四个基本方法:1.比较两个数组是否相等的equals()2.填充的fill()3.对数组进行排序的sort()4.在一个已排序的数组中查找元素的binarySearch()赋值数组:System.arraycopy()对象数组和primitive数组都能拷贝对象数组只是拷贝的他的reference(引用)浅拷贝