Java Collections框架(JCF)是一组Java类和接口,可让您存储,操纵和组织对象组。它是Java中最受欢迎的框架之一,用于许多应用程序和库中。 JCF提供了收集的联合接口,该接口允许检测器与不同类型的均匀手柄收集一起工作。
集合接口
收集接口最终会涉及所有收集器类都必须涉及的MES。 JCF中有几个收集器界面,每个界面都有其自身和特征。
最常用的收集接口是:
-
列表:重复Donné订购的收集。这些元素可以重复,并以插入顺序存储。
-
set :再现了收集未订购的 。 无法重复。
-
地图:表示封闭对/值的集合。 封闭是 unique 和值可以是depliqué。
-
尾巴:表示队列这些元素是在文件的末尾添加的, 。
列表类型集合:列表
列表是订购的收集,其中可能包含double -in -in -law。元素以插入顺序存储。列表由 arraylist类实现, linkedlist 和 vector 。
。列表中常用的配偶是:
- add(element):添加
- 删除(元素):删除列表的第一次出现。
- 获取(索引):将老人返回列表中的特定索引。
使用ArrayList类的示例:
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Pomme");
fruits.add("Banane");
fruits.add("Orange");
// Affiche: [Pomme, Banane, Orange]
System.out.println(fruits);
fruits.remove("Banane");
System.out.println(fruits); // Affiche: [Pomme, Orange]
String fruit = fruits.get(1);
// Affiche: Orange
System.out.println(fruit);
}
}
设置类型集合:集合
合奏是非命令的集合,不能包含双打的老年人。这些集由 hashset类实现和 treetet 。
与集合一起使用的MES是:
- add(element):添加
- 删除(元素):删除一个合奏。
- 包含(元素):指整体包含间隔
类的示例 hashset :
import java.util.HashSet;
import java.util.Set;
public class HashSetExample {
public static void main(String[] args) {
Set<String> fruits = new HashSet<>();
fruits.add("Pomme");
fruits.add("Banane");
fruits.add("Orange");
// L'élément en double est ignoré
fruits.add("Pomme");
// Affiche: [Banane, Orange, Pomme]
System.out.println(fruits);
fruits.remove("Banane");
// Affiche: [Orange, Pomme]
System.out.println(fruits);
boolean containsApple = fruits.contains("Pomme");
// Affiche: true
System.out.println(containsApple);
}
}
地图类型集合:封闭/价值关联
映射是关闭/价值对集合。 封闭是唯一和值可以是depliqué。 Hashmap类和 treemap 暗示地图。
通常与地图一起使用的MES是:
- put(键,值):添加封闭的一对/值。
- 删除(键):用攀爬删除这对。
- 获取(键):返回其末尾的关联值。
使用hashmap类的示例:
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
Map<String, Integer> fruits = new HashMap<>();
fruits.put("Pomme", 1);
fruits.put("Banane", 2);
fruits.put("Orange", 3);
// Affiche: {Pomme=1, Banane=2, Orange=3}
System.out.println(fruits);
fruits.remove("Banane");
// Affiche: {Pomme=1, Orange=3}
System.out.println(fruits);
int numberOfApples = fruits.get("Pomme");
// Affiche: 1
System.out.println(numberOfApples);
}
}
尾部类型集合:文件
文件是将选举添加到最后并从检测中撤回的集合。队列由 LinkedList类和 PriortityQueue 实现。
通常与队列一起使用的MES是:
- 提供(元素):添加
- poll():引用并删除队列队列的事实。
- peek():指无需删除队列的定义。
使用类的示例 linkedlist :
import java.util.LinkedList;
import java.util.Queue;
public class LinkedListExample {
public static void main(String[] args) {
Queue<String> names = new LinkedList<>();
names.offer("Alice");
names.offer("Bob");
names.offer("Charlie");
// Affiche: [Alice, Bob, Charlie]
System.out.println(names);
String firstName = names.poll();
// Affiche: Alice
System.out.println(firstName);
// Affiche: [Bob, Charlie]
System.out.println(names);
String nextName = names.peek();
// Affiche: Bob
System.out.println(nextName);
}
}
收集比较
捐赠结构 | 描述 | 重复的对象管理 | ordre | 存储八个null th>的可能性 | 帐户 | 使用示例 |
---|---|---|---|---|---|---|
地图 | 一个对集合值(每个线索都是唯一的) td> | 唯一的客户端,但是重复的值 td> | non sp | 丁香和值可以为null td> | claâ©,IT©Readur | 用户捐赠存储,单词翻译 td> |
set | 独特的集合,没有特殊顺序 td> | 元素唯一 | non sp | 元素可以为null td> | ell©©©rapur | 订阅管理,独特的过滤 |
列表 | 从 | elé©ments副本 | 订购为加法 td>的函数 | 元素可以为null td> | 索引,it Rateur | 历史存储,tôs td> |
队列 | 有序的收集:员工访问是为了添加 td>的情况 | elé©ments副本 | 订购为加法 td>的函数 | 元素可以为null td> | 调查和脱口机操作,项目 td> | 文件管理,订单控制 td> |
结论
Java收集是JCF的重要组成部分。这些集合提供了一种灵活而有效的处理来存储和操纵数据。使用集合界面和适当的收集含义,库赛车可以更强大,更灵活。这些集合还用于依赖许多当前的编程问题,对于Java中东方程序的完整性至关重要。
走得更远:https://www.jmdoudoux.fr/java/dej/chap-collections.htm#collections-7