Java基础-集合框架详解
Java集合框架详解
集合框架概述
Java集合框架是Java提供的一套用于存储和操作一组对象的架构。集合框架包括接口、实现类和算法,使开发者可以高效地处理数据。
主要接口与实现类
Collection接口
Collection是所有集合类的根接口,它定义了集合的基本操作,如添加、删除、清空等。
List接口
List是有序集合,可以通过索引访问元素。
常用实现:
ArrayList - 基于数组的List实现,随机访问效率高
1
2
3
4
5List<String> arrayList = new ArrayList<>();
arrayList.add("Java");
arrayList.add("Python");
arrayList.add("C++");
System.out.println(arrayList.get(1)); // 输出: PythonLinkedList - 基于双向链表的List实现,插入和删除效率高
1
2
3
4List<String> linkedList = new LinkedList<>();
linkedList.add("First");
linkedList.add("Second");
linkedList.addFirst("Start"); // LinkedList特有方法
Set接口
Set是不允许有重复元素的集合。
常用实现:
HashSet - 基于哈希表的Set实现,不保证元素顺序
1
2
3
4
5Set<Integer> hashSet = new HashSet<>();
hashSet.add(1);
hashSet.add(2);
hashSet.add(1); // 重复元素不会被添加
System.out.println(hashSet.size()); // 输出: 2TreeSet - 基于红黑树的Set实现,元素按照自然顺序或指定的比较器排序
1
2
3
4
5Set<String> treeSet = new TreeSet<>();
treeSet.add("C");
treeSet.add("A");
treeSet.add("B");
// 遍历输出: A B C(自动排序)
Map接口
Map是键值对映射的集合,不允许重复键。
常用实现:
HashMap - 基于哈希表的Map实现,允许null键和值
1
2
3
4Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("Java", 95);
hashMap.put("Python", 90);
System.out.println(hashMap.get("Java")); // 输出: 95TreeMap - 基于红黑树的Map实现,按键的自然顺序或指定的比较器排序
1
2
3
4
5Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("C", 78);
treeMap.put("A", 90);
treeMap.put("B", 85);
// 遍历时键的顺序: A B C
集合框架的工具类
Java提供了Collections
工具类,包含了对集合进行操作的各种静态方法:
1 | List<Integer> numbers = new ArrayList<>(); |
并发集合
对于多线程环境,Java提供了线程安全的集合类:
1 | List<String> synchronizedList = Collections.synchronizedList(new ArrayList<>()); |
总结
Java集合框架是Java开发中最常用的API之一,合理使用集合框架可以极大地提高程序的效率和可读性。选择合适的集合实现类需要考虑数据结构特性、性能需求以及线程安全性等因素。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 我的个人博客!