1.单列集合框架结构
|----Collection接口:单列集合,用来存储一个一个的对象
-
|----List接口:存储序的、可重复的数据。 -->“动态”数组
-
|----ArrayList、LinkedList、Vector
-
|----Set接口:存储无序的、不可重复的数据 -->高中讲的“集合”
-
|----HashSet、LinkedHashSet、TreeSet
2.Collection接口常用方法:
- contains(Object obj):判断当前集合中是否包含obj
- containsAll(Collection coll):判断形参coll中的所有元素是否都存在于当前集合中
- remove(Object obj):从当前集合中移除obj元素
- removeAll(Collection coll1)从当前集合中移除coll1中所有的元素
- retainAll(Collection coll1):交集:获取当前集合和coll1集合的交集,并返回给当前集合
- equals(Object obj):要想返回true,当前集合和形参集合的元素都相同
- hashCode():返回当前对象的哈希值
- 集合 --> 数组:toArray()
- 数组 --> 集合:调用Arrays的静态方法asList()
10.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
4.使用Collection集合存储对象,要求对象所属的类满足:
向Collection接口的实现类的对象中添加数据obj时,要求obj所在类要重写equals().