更新时间:2022-03-24 11:12:57 来源:极悦 浏览1211次
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);
}
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习