Java Collection接口

Collection是一组对象,这些对象称为元素。它是集合层次结构中的根接口。该接口主要用于传递和操作集合,以便实现最大的通用性。

Collection接口定义了许多方法,包括:

方法描述
add()如果将指定的元素插入到此集合中,则返回一个布尔值true。
addAll()如果将指定集合的所有元素添加到调用集合中,则返回一个布尔值true。
clear()从此集合中自动移除所有元素。
contains()如果此队列包含指定的元素,则返回一个布尔值true。
containsAll()如果此集合包含指定集合中的所有元素,则返回一个布尔值true。
equals()如果指定对象与此集合相等,则返回一个布尔值true。
hashCode()返回此集合的哈希码值。
isEmpty()如果此集合不包含元素或为空,则返回true。
iterator()返回按正确顺序对元素进行迭代的迭代器。
remove()如果该元素存在于集合中,则从该队列中删除指定的元素。
removeAll()从此集合中删除指定集合中也存在的所有元素。
removeIf()删除满足给定谓词过滤器的此集合的所有元素。
retainAll()仅保留此集合中与指定集合中存在的元素。
size()返回此集合中的元素总数。
spliterator()返回此集合中的元素的分割器。
toArray()返回包含此集合中所有元素(按正确顺序)的数组。

示例1

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

public class JavaCollectionExample1 {
   public static void main(String[] args) {
      Set<Integer> set = new HashSet<>();
      // 将指定元素插入到集合中
      set.add(2);
      set.add(5);
      System.out.println("初始集合: " + set);
      // 将指定集合的所有元素添加到调用集合中
      Collections.addAll(set, 11, 12, 13, 14, 15);
      System.out.println("最终集合: " + set);
      // 返回集合的总大小
      int size = set.size();
      System.out.println("集合大小: " + size);
      // 如果此集合包含指定的元素,则返回一个布尔值true
      boolean val = set.contains(5);
      if (val) {
         System.out.println("集合中包含5");
      } else {
         System.out.println("集合中不包含5");
      }
      // 自动从集合中删除所有元素
      set.clear();
      System.out.println("集合中的元素: " + set);
   }
}

输出:

初始集合: [2, 5]
最终集合: [2, 5, 11, 12, 13, 14, 15]
集合大小: 7
集合中包含5
集合中的元素: []

示例2

import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.ConcurrentLinkedQueue;

public class JavaCollectionExample2 {
   public static void main(String[] args) {
      ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>();
      Set<Integer> set = new HashSet<>();
      // 将指定集合的所有元素添加到调用集合中
      Collections.addAll(set, 11, 12, 13, 14, 15);
      System.out.println("集合: " + set);
      // 返回按正确顺序对元素进行迭代的迭代器
      Iterator<Integer> iterator = set.iterator();
      while (iterator.hasNext()) {
         System.out.println(iterator.next());
      }
      set.clear();
      // 检查集合是否为空
      boolean isEmpty = set.isEmpty();
      if (isEmpty) {
         System.out.println("集合为空");
      } else {
         System.out.println("集合不为空");
      }
      for (int i = 1; i < 21; i++) {
         queue.add(i);
      }
      System.out.println("集合中的元素: " + queue);
      for (int i = 1; i < 11; i++) {
         int j = i * 5;
         set.add(j);
      }
      // 仅保留集合中与指定集合中存在的元素
      queue.retainAll(set);
      System.out.println("5的倍数: " + queue);
   }
}

输出:

集合: [11, 12, 13, 14, 15]
11
12
13
14
15
集合为空
集合中的元素: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
5的倍数: [5, 10, 15, 20]

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想