集合:集合是存储对象数据的集合容器。

集合比数组的优势:
    1. 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。
    2. 集合的长度是会发生变化的,数组的长度是固定的。

单列集合体系:

---------| Collection 单例集合的根接口
------------| List  如果是实现了List接口的集合类, 具备的特点:有序,重复。
---------------| ArraryList  底层 是使用了Object数组实现的,特点: 查询速度快,增删慢。
---------------| LinkedList 底层是使用了链表数据结构实现 的, 特点: 查询速度慢,增删快。
---------------| Vector Vector的实现与ArrayList是一致,但是是线程安全 的,操作效率低。 jdk1.0的时候出现的
------------| Set  如果是实现了Set接口的集合类,具备的特点:无序,不可重复。
----------------| HashSet  底层是使用了一个哈希表支持的, 特点:存取速度快。

----------------| TreeSet  底层是使用了红黑树(二叉树)数据结构实现的, 特点:会对元素进行排序存储。

 

凡是容器都具有增删改查的功能和对应的方法。

collection接口中的方法:

增加:

boolean add(E e)  确保此 collection 包含指定的元素(可选操作)。

boolean addAll(Collection<? extends E> c)  将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。

删除:

void clear() 移除此 collection 中的所有元素(可选操作)。

boolean remove(Object o) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。

boolean removeAll(Collection<?> c) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。

boolean retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。

查看:

int size() 返回此 collection 中的元素数。

判断:

boolean isEmpty()  如果此 collection 不包含元素,则返回 true

boolean contains(Object o) 如果此 collection 包含指定的元素,则返回 true

boolean containsAll(Collection<?> c)   如果此 collection 包含指定 collection 中的所有元素,则返回 true

迭代:

Object[] toArray()  返回包含此 collection 中所有元素的数组。

Iterator<Eiterator() 返回在此 collection 的元素上进行迭代的迭代器。

迭代器的方法:

boolean hasNext() 如果仍有元素可以迭代,则返回 true

E  next()  返回迭代的下一个元素。

void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。只能用在调用next方法之后,否则会报异常:java.lang.IllegalStateException

代码示例如下:

 1 import java.util.ArrayList;
 2 import java.util.Arrays;
 3 import java.util.Collection;
 4 import java.util.Iterator;
 5 
 6 public class DemoCollection {
 7 
 8     public static void main(String[] args) {
 9         //加入
10         Collection<String> collection = new ArrayList<String>();
11         System.out.println("加入元素是否成功?"+ collection.add("张三"));
12         collection.add("李四");
13         System.out.println("add之后的collection"+collection);
14         
15         Collection<String> collection2 = new ArrayList<String>();
16         collection2.add("王五");
17         collection2.add("赵六");
18         collection.addAll(collection2);
19         System.out.println("addAll之后的collection"+collection);
20         //删除
21         System.out.println("删除是否成功?"+collection2.remove("赵六1"));
22         System.out.println("删除是否成功?"+collection2.remove("赵六"));
23         System.out.println("remove之后的collection2"+collection2);
24         System.out.println("删除是否成功?"+collection.removeAll(collection2));
25         System.out.println("removeAll之后的collection"+collection);
26         
27         Collection<String> collection3 = new ArrayList<String>();
28         collection3.add("赵六");
29         System.out.println("删除是否成功?"+collection.retainAll(collection3));
30         System.out.println("retainAll之后的"+collection);
31         
32         collection2.clear();
33         System.out.println("clear之后的collection2?"+collection2);
34         //查看
35         System.out.println("collection的元素个数:"+collection.size());
36         //判断
37         System.out.println("collection时候为空?"+collection.isEmpty());
38         System.out.println("collection是否包含赵六?"+collection.contains("赵六"));
39         System.out.println("collection是否包含collection3?"+collection.containsAll(collection3));
40         //迭代
41         Object[] array = collection.toArray();
42         System.out.println(Arrays.toString(array));
43         
44         Iterator<String> iterator = collection.iterator();
45         while (iterator.hasNext()) {
46             System.out.println(iterator.next());
47         }
48         
49         Iterator<String> iterator2 = collection.iterator();
50         iterator2.next();
51         iterator2.remove();
52         System.out.println("collection中的"+collection);
53     }
54     
55 }
View Code

相关文章:

  • 2022-12-23
  • 2021-06-18
  • 2021-11-01
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
  • 2021-12-21
  • 2021-08-09
猜你喜欢
  • 2021-03-31
  • 2021-07-04
  • 2021-05-02
  • 2021-12-21
  • 2021-07-05
  • 2021-10-11
  • 2022-12-23
相关资源
相似解决方案