集合
数组与集合的区别:
1. a)数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。
b)集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象。
2.a)数组长度是固定的,不能自动增长
b)集合的长度的是可变的,可以根据元素的增加而增长。
重点:
集合体系图(必须掌握)
Collection:
创建:无法直接创建,必须通过实现类(ArrayList)
方法:(可API查询)
1.boolean add(E e);添加指定元素
2.boolean addAll(Collection<? extends E> c) ;添加指定集合
3.void clear() ;清除集合内所有元素
4.boolean contains(Object o):判断集合中是否包含某元素
5.boolean isEmpty() :判断集合是否为空
6.Iterator iterator() ;返回迭代器
7.boolean remove(Object o) ;移除指定元素
8.int size() ;返回集合长度
代码:
public class ConnectionDemo {
public static void main(String[] args) {
//1
//创建一个集合
Collection collection = new ArrayList<>();
//添加元素
collection.add(“开心超人”);
collection.add(“甜心超人”);
collection.add(“花心超人”);
collection.add(“小心超人”);
//2
//创建一个集合
//Collection collection = new ArrayList<>();
//添加指定元素
//collection1.add(“小小怪”);
//collection1.add(“大大怪”);
//collection.addAll(collection1);
//清除集合内所有元素
//collection.clear();
//判断集合中是否包含某元素
//System.out.println(collection.contains(“粗心”));
//判断集合是否为空
//System.out.println(collection.isEmpty());
//移除指定元素
//System.out.println(collection.remove(“花心超人”));
//打印输出集合对象collection
//System.out.println(collection);
//返回集合长度
//System.out.println(collection.size());
//返回迭代器
//Iterator iterator = collection.iterator();
//while(iterator.hasNext()) {//判断是否有下一个元素
//if(iterator.next().equals(“花心超人”)) {
//collection.add(“粗心”);
}
//打印下一个元素
//System.out.println(iterator.next());
}
}
}
集合体系图(重点):
Collection(单列集合最顶端接口)
——List(有序,可重复,有索引)
——ArrayList(底层数组,查询快,增删慢,非同步,线程不安全,效率高)
——LinkedList(底层链表,查询慢,增删快)
——Vector(底层数组,同步,线程安全,效率低)
——Set(无序,不可重复,无索引)
——HashSet(底层哈希表,唯一性)
——TreeSet(底层二叉树,唯一性) comparable——Comparator
Map(双列集合最顶端接口,键值对存储,键唯一,值可重复)
——HashMap(非同步,线程不安全,效率高,可存空值空键)
——TreeMap(可对键排序)
——Hashtable(同步,线程安全,效率低,不可存空值空键)
创建,存取,遍历(普通for,增强for,迭代器,Map(1.键找值2.键值对))
Conllections——Collection
(先对集合体系图了解,后期在做详细编码)