专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java集合详解

Java集合详解

更新时间:2022-03-24 11:12:57 来源:赢咖4 浏览1069次

Java集合API 为 Java 开发人员提供 了一组类和接口,可以更轻松地处理对象集合,例如列表、映射、堆栈等。

Java无需编写自己的集合类,而是为您提供了这些现成的集合类。本教程将仔细研究 Java 集合,因为它们有时也被称为,更具体地说是 Java 8 及更高版本中可用的 Java 集合。

Java Collection 接口表示泛型集合上可能的操作,例如 List、Set、Stack、Queue 和 Deque。例如,Java Collection 接口中提供了基于索引访问元素的方法。Java Collection 接口在Java Collection 接口教程 中有更详细的解释 。

创建一个集合

如上所述,您不是Collection直接创建实例,而是创建Collection. 下面是一个创建 a 的示例,List 它是 的子类型Collection:

集合集合 = new ArrayList();

上面的示例适用于Collection.

集合子类型

以下接口(集合类型)扩展了Java Collection接口:

列表

排序集

导航集

队列

双端队列

Java 不附带 Collection 接口的可用实现,因此您必须使用列出的子类型之一。Collection 接口只定义了这些 Collection 子类型中的每一个共享的一组方法(行为)。这使得可以忽略您正在使用的特定类型的集合,并将其视为集合。这是标准继承,所以没有什么神奇之处,但有时它仍然是一个不错的功能。本文后面的部分将描述这些常用操作中最常用的。

这是一个对集合进行操作的方法:

公共类 MyCollectionUtil{
  公共静态无效doSomething(集合集合){    
    迭代器 iterator = collection.iterator();
    而(迭代器.hasNext()){
      对象对象 = iterator.next();
      //在这里做一些反对...
    }
  }
}

这里有几种方法可以使用不同的 Collection 子类型调用此方法:

设置 set = new HashSet();
列表列表 = 新的 ArrayList();
MyCollectionUtil.doSomething(set);
MyCollectionUtil.doSomething(list);    

将元素添加到集合

无论您使用哪种 Collection 子类型,都有一些标准方法可以将元素添加到 Collection。向 a 添加元素Collection是通过该 add()方法完成的。这是向 Java 添加元素的示例Collection:

String anElement = "一个元素";
集合集合 = new HashSet();
boolean didCollectionChange = collection.add(anElement);

该add()方法将给定元素添加到集合中,true如果 Collection由于调用该add()方法而发生更改,则返回。例如, ASet可能没有改变。如果Set已经包含该元素,则不会再次添加。另一方面,如果您调用add()aList 并且List已经包含该元素,则该元素将在List.

从集合中移除元素

该remove()方法从 中删除给定的元素,如果删除的元素存在于 中并被删除,Collection则返回 true 。Collection如果该元素不存在,则该remove()方法返回false。这是从 Java 中删除元素的示例Collection:

boolean wasElementRemoved = collection.remove("一个元素");

将对象集合添加到集合

您还可以Collection使用addAll(). 这是将对象集合添加到 Java 的示例Collection:

Set aSet = ... // 使用某处的元素获取 Set
集合集合 = new HashSet();
集合.addAll(aSet); //也返回布尔值,但在这里忽略

JavaCollection addAll()将在 Collection 中找到的所有元素作为参数传递给该方法。Collection不添加对象本身。只有它的元素。如果您 add()使用 Collection 作为参数调用,Collection则将添加对象本身,而不是其元素。

该addAll()方法的具体行为方式取决于 Collection 子类型。一些 Collection 子类型允许多次添加相同的元素,而另一些则不允许。

从集合中删除元素集合

Java删除所有 作为参数传递给方法Collection removeAll()的元素。Collection如果 Collection 参数包含任何未找到目标集合的元素,则这些元素将被忽略。这是从 Java 中删除元素集合的示例Collection:

Collection objects = //... 从某个地方获取对象的集合。
集合.removeAll(对象);

将一个集合中的所有元素保留在另一个集合中

JavaCollection retainAll()与removeAll(). 它不会删除在参数中找到的所有元素Collection,而是保留所有这些元素,并删除所有其他元素。请记住,只有当元素已经包含在目标集合中时,它们才会被保留。Collection 在参数中找到的不在目标集合中的任何新元素都不会自动添加。他们只是被忽略了。这是一个Colletion在另一个 Java中保留所有元素的示例Collection:

集合 colA = new ArrayList();
集合 colB = new ArrayList();
colA.add("A");
colA.add("B");
colA.add("C");
colB.add("1");
colB.add("2");
colB.add("3");
集合目标 = new HashSet();
目标.addAll(colA); //目标现在包含 [A,B,C]
目标.addAll(colB); //目标现在包含 [A,B,C,1,2,3]
目标.retainAll(colB); //目标现在包含 [1,2,3]

集合大小

size()您可以使用该方法 检查集合的大小。“大小”是指集合中元素的数量。这是一个例子:

int numberOfElements = collection.size();    

迭代一个集合

您可以迭代集合的所有元素。这是通过 从集合中获取Java 迭代器并迭代它来完成的。这是它的外观:

集合集合 = new HashSet();
//... 将元素添加到集合中
迭代器 iterator = collection.iterator();
而(迭代器.hasNext()){
    对象对象 = iterator.next();
    System.out.println(object);
}

您还可以Collection使用 Java for-each 循环来迭代 Java :

集合集合 = new HashSet();
集合.add("A");
集合.add("B");
集合.add("C");
for(对象对象:集合){
    System.out.println(object);
}

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>