1. 了解集合体系结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1cc08e3cc11a42a6b8cbf399a62792c5.png)
2. 了解Collection集合体系
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/760b30d2ceb74c548f7070b7931f8362.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ed62b8866b564c97b27079584fc188cb.png)
3. 常用API
方法 | 说明 |
---|
public boolean add(E e) | 增加元素,增加成功返回True |
public void clear() | 清空集合的元素 |
public boolean isEmpty() | 判断集合是否为空,是空返回true |
public int size() | 获取集合的大小 |
public boolean contains(Object obj) | 判断集合中是否包含某个元素 |
public boolean remove(E e) | 删除某个元素:如果有多个重复元素默认删除前面的第一个 |
public Object[] toArray() | 把集合转换成数组 |
A.addAll(B) | 将B中的全部数据导入到A中 |
public static void CollectionTestAPI() {
Collection<String> collection = new ArrayList<>();
collection.add("java1");
collection.add("java1");
collection.add("java2");
collection.add("java3");
System.out.println(collection);
System.out.println(collection.isEmpty());
System.out.println(collection.size());
System.out.println(collection.contains("java1"));
collection.remove("java1");
System.out.println(collection);
Object[] arr = collection.toArray();
System.out.println(Arrays.toString(arr));
String[] strings = collection.toArray(new String[collection.size()]);
System.out.println(Arrays.toString(strings));
System.out.println("============");
ArrayList<String> c1 = new ArrayList<>();
c1.add("java1");
c1.add("java2");
System.out.println(c1);
ArrayList<String> c2 = new ArrayList<>();
c2.add("java3");
c2.add("java4");
System.out.println(c2);
c1.addAll(c2);
System.out.println(c1);
}
4. Collection遍历方式
4.1 迭代器
迭代器是用来遍历集合的专用方式(数组没有迭代器),在Java中迭代器代表的是Iterator。
构造器 | 说明 |
---|
Iterator<> iterator() | 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的第一个元素 |
方法 | 说明 |
---|
boolean hasNext() | 询问当前位置是否有元素存在,存在:True,不存在:False |
next() | 获取当前位置的元素,并同时将迭代器对象指向下一个元素处。 |
public static void CollectionTestIterator() {
ArrayList<String> c = new ArrayList<>();
c.add("张三");
c.add("李四");
c.add("王五");
c.add("赵六");
c.add("田七");
System.out.println(c);
Iterator<String> iterator = c.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
4.2 增强for循环
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bc0c130cc71b414d9646d03d32df813a.png)
String[] names = {"张三", "李四", "王五", "赵六", "田七"};
for (String name : names) {
System.out.println(name);
}
ArrayList<String> c = new ArrayList<>();
c.add("张三");
c.add("李四");
c.add("王五");
c.add("赵六");
c.add("田七");
for (String ele : c) {
System.out.println(ele);
}
4.3 Lambda表达式
方法 | 说明 |
---|
default void forEach(Consumer<? super T> action) | 结合Lambda遍历集合 |
ArrayList<String> c = new ArrayList<>();
c.add("张三");
c.add("李四");
c.add("王五");
c.add("赵六");
c.add("田七");
c.forEach(System.out::println);