JAVA中的集合与泛型整理总结

JAVA中的集合与泛型整理总结

Java中用到的集合主要有三类:List, Set, Map;

实现了接口 Collection 的有 : List, Set;

  1. List, List接口的实现类主要有以下三种: ArrayList : 动态数组 LinkedList : 针对经常插入或删除中间元素所设计的高效率集合 Vector:动态数组,同步的,线程安全的 比较常用的是ArrayList的数组,但是ArrayList会出现重复的元素,并且没有排序的方法,需要借助Collections类的sort()方法; Collections.sort()的参数需要满足一定的条件; public static <T extends Comparable<? super T>> void sort(List<T> list); public static <T> void sort(List<T> list, Comparator<? super T> c) 所以对于集合中的元素,必须要实现Comparable接口中compareTo方法,或者定义一个实现Comparator的类; 从定义可以看出,只要实现了list接口的都可以用这种方法排序。
  2. Set : 集合中没有重复的元素 Set接口的实现类有以下几种: HashSet: LinkedHashSet: TreeSet:有序; 对于Set集合检验重复的机制,主要用到hashcode 和equels方法。 可以对集合中的元素重写这两个方法,达到验证重复的效果。 TreeSet 会对元素进行排序,我们知道遇到排序的时候,集合中的元素需要实现comparable接口种compareTo()方法,或者用TreeSet的一个有comparator参数的构造函数来创建TreeSet.
  3. Map TreeMap HashMap LinkedHashMap Hashtable map主要是键值对的方式存取的。 泛型 public <T extends Animal> void takeThing(ArrayList<T> list) public void takeThing(ArrayList(? extends Animal> list)
经验分享 程序员 微信小程序 职场和发展