集合框架中的核心接口
| 接口 | 说明 | 实体类 |
| Collection
| 一种基本接口,它定义了一些普通操作,通过这些操作,可以将一个对象集合当作一个独立单元来对其进行存放和处理 |
|
| Set | Set接口扩展了Collection接口,用来提供集合的维护(该集合中的元素以某一排列顺序存储)所需的功能 | HashSet LinkedHashSet |
| SortedSet | SortedSet接口扩展了Set接口,用来提供集合的维护(该集合中的元素以某一排列顺序存储)所需的功能 | TreeSet |
| List | List接口扩展了Collection接口,用来存放某个元素序列 | ArrayList Vector LinkedList |
| Map | 一种基本接口,定义了用来实现键/值(key-value)映射关系维护的操作 | HashMap Hashtable LinkedHashMap |
| SortedMap | 针对以键序排列存放其映射关系的映射,该接口扩展了Map接口 | TreeMap |
集合及映射实现类表
| 实体集合/映射 | 接口 | 重复项 | 有序/排序 | 元素调用方法 | 实现类数据结构 |
| HashSet | Set | 元素唯一 | 无顺序 | equals()、hashCode() | Hash表 |
| LinkedHashSet | Set | 元素唯一 | 插入排序 | equals()、hashCode() | Hash表和双向链表 |
| TreeSet | SortedSet | 元素唯一 | 排序 | equals()、compareTo() | 平衡树 |
| ArrayList | List | 可以重复 | 插入排序 | equals() | 可调大小数组 |
| LinkedList | List | 可以重复 | 插入排序 | equals() | 链表 |
| Vector | List | 可以重复 | 插入排序 | equals() | 可调大小数组 |
| HashMap | Map | 键唯一 | 无顺序 | equals()、hashCode() | Hash表 |
| LinkedHashMap | Map | 键唯一 | 键插入顺序/条目访问顺序 | equals()、hashCode() | Hash表和双向链表 |
| Hashtable | Map | 键唯一 | 无顺序 | equals()、hashCode() | Hash表 |
| TreeMap | SortedMap | 键唯一 | 键序排列 | equals()、compareTo() | 平衡树 |
ollection和Collections的区别
首先要说的是,"Collection" 和 "Collections"是两个不同的概念;
如下图所示,"Collection"是集合类(Collection)的顶级接口,然而”Collections“是一个提供了一系列静态方法的集合工具类;

Collection的类层次结构图

Map的类层次结构图

总结

代码示例
package simplejava; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; public class Q7 { public static void main(String[] args) { List<String> a1 = new ArrayList<String>(); a1.add("Program"); a1.add("Creek"); a1.add("Java"); a1.add("Java"); System.out.println("ArrayList Elements"); System.out.print("\t" + a1 + "\n"); List<String> l1 = new LinkedList<String>(); l1.add("Program"); l1.add("Creek"); l1.add("Java"); l1.add("Java"); System.out.println("LinkedList Elements"); System.out.print("\t" + l1 + "\n"); Set<String> s1 = new HashSet<String>(); // or new TreeSet() will order the elements; s1.add("Program"); s1.add("Creek"); s1.add("Java"); s1.add("Java"); s1.add("tutorial"); System.out.println("Set Elements"); System.out.print("\t" + s1 + "\n"); Map<String, String> m1 = new HashMap<String, String>(); // or new TreeMap() will order based on keys m1.put("Windows", "2000"); m1.put("Windows", "XP"); m1.put("Language", "Java"); m1.put("Website", "programcreek.com"); System.out.println("Map Elements"); System.out.print("\t" + m1); } }
结果打印:
本文深入介绍了Java集合框架的核心接口和实现类,包括Collection、Set、List、Map等,并通过示例代码展示了不同集合类型的使用方法及其特点。

2904

被折叠的 条评论
为什么被折叠?



