1.单列集合框架结构

  • Collection接口:单列集合,用来存储一个一个的对象
    • List接口:存储有序的、可重复的数据。 —>“动态”数组
      • ArrayList、LinkedList、Vector
    • Set接口:存储无序的、不可重复的数据 —>高中讲的“集合”
      • HashSet、LinkedHashSet、TreeSet

对应图示:
image.png

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集合与数组间的转换

  1. //集合 --->数组:toArray()
  2. Object[] arr = coll.toArray();
  3. for(int i = 0;i < arr.length;i++){
  4. System.out.println(arr[i]);
  5. }
  6. //拓展:数组 --->集合:调用Arrays类的静态方法asList(T ... t)
  7. List<String> list = Arrays.asList(new String[]{"AA", "BB", "CC"});
  8. System.out.println(list);
  9. List arr1 = Arrays.asList(new int[]{123, 456});
  10. System.out.println(arr1.size());//1
  11. List arr2 = Arrays.asList(new Integer[]{123, 456});
  12. System.out.println(arr2.size());//2

4.使用Collection集合存储对象,要求对象所属的类满足:

  • 向Collection接口的实现类的对象中添加数据obj时,要求obj所在类要重写equals().

    5.本章节对大家的要求:

    层次一:选择合适的集合类去实现数据的保存,调用其内部的相关方法。
    层次二:不同的集合类底层的数据结构为何?如何实现数据的操作的:增删改查等。