-
Java集合的基本类型:List、Set、Queue、Map
- 使用容器时若未指定泛型参数ArrayList apples=new ArrayList();,则容器中所有元素都为Object类型,使用时需要强制类型转换,可以向容器中添加任意类型的元素,使用时需要强制类型转换。
- 若指定泛函参数则只能添加指定类型元素 ArrayList<Apple> apples=new ArrayList(); ,使用时也无需强制类型转换。
- HashSet采用相当复杂的方式存储元素,这种方式是最快的获取元素方式。
- ArrayList长于随机访问元素,LinkedList通过代价较低的方式在List中间进行插入删除操作
- 在List中移除元素依赖于equals()方法,对于不同的类equals()的定义可能不同。
- Iterator接口的remove方法将会删除上次调用next方法时返回的元素,如果想要删除指定位置上的元素,需要越过这个元素
- Set中最常被使用的是测试归属性,所以查找成为了set中最终要的操作,因此通常采用HashSet的实现。
- Set基于对象的值来确定归属性
- 集合的操作(差、并等)也适用于set容器
- LinkedList可向上转型为Queue
Queue<Integer> queue=new LinkedList<Integer>();
- 优先队列的使用
//可以先确定好大小、Comparator,再addAll stringsPQ=new PriorityQueue<String>(strings.size(),Collections.reverseOrder()); stringsPQ.addAll(strings);