1.单列集合框架结构
- Collection接口:单列集合,用来存储一个一个的对象
- List接口:存储有序的、可重复的数据。 —>“动态”数组
- ArrayList、LinkedList、Vector
- Set接口:存储无序的、不可重复的数据 —>高中讲的“集合”
- HashSet、LinkedHashSet、TreeSet
- List接口:存储有序的、可重复的数据。 —>“动态”数组
对应图示:
2.Collection接口常用方法:
add(object e ) | 将元素e添加到一个集合对象中 |
---|---|
size() | 获取添加元素的个数 |
addAll() | 将某一集合元素添加到另一个集合 |
isEmpty() | 判断集合是否有数据 |
clear() | 清空集合元素 |
contains(object e) | 判断集合中对否存在e ,一般对于自定义的类要重写equals()方法,才会返回true,否则返回false |
containsAll(object e1,e2,e3……) | 判断某集合中是否包含形参的所有数值,返回值为布尔类型 |
remove(int index) / remove(Object obj) | 移除某元素,返回值为布尔型(若是参数为自定义的类,则需要重新写equals(),才能正确的移除) |
removeAll(Collection col) | 从当前集合中移除col集合的元素 |
retainAll(Collection col1) | 求当前集合和参数集合的交集,在将结果给当前集合 |
equals(object e ) | 比较两个集合的内容是否一致 |
hashCode() | 获取哈希数(即存储位置) |
toArray() | 将集合转变成数组,转变成的数组的类型为集合中所包含的对象的类型 |
Arrays.asList(new String[] {“aa”,bb,cc}) | 将数组转变成集合(调用Arrays类的静态方法) |
iterator() | 返回迭代器Iterator接口的实例,用于遍历集合的元素 |
3.Collection集合与数组间的转换
//集合 --->数组:toArray()
Object[] arr = coll.toArray();
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i]);
}
//拓展:数组 --->集合:调用Arrays类的静态方法asList(T ... t)
List<String> list = Arrays.asList(new String[]{"AA", "BB", "CC"});
System.out.println(list);
List arr1 = Arrays.asList(new int[]{123, 456});
System.out.println(arr1.size());//1
List arr2 = Arrays.asList(new Integer[]{123, 456});
System.out.println(arr2.size());//2