欢迎访问宙启技术站
智能推送

使用Java内置数据结构:列表,集合和映射

发布时间:2023-06-24 01:18:59

Java是一种广泛应用的编程语言,它具有丰富的内置数据结构。其中三种最常用的数据结构是:列表,集合和映射。

1. 列表

列表(List)是一个有序集合,其中每个元素都有一个与之关联的 索引。它允许元素重复,同一元素可以存储在不同的位置。Java中的List有两个主要的实现类:ArrayList和LinkedList。

ArrayList是一个基于动态数组实现的列表类,它允许快速随机访问元素。它的缺点是插入和删除元素时需要移动其他元素。例如:

List<String> arrayList = new ArrayList<>();
arrayList.add("apple");
arrayList.add("banana");
arrayList.add("orange");

System.out.println(arrayList.get(1)); // 输出"banana"

LinkedList是一个基于链表实现的列表类,它允许高效地插入和删除元素,但随机访问元素比较慢。例如:

List<String> linkedList = new LinkedList<>();
linkedList.add("apple");
linkedList.add("banana");
linkedList.add("orange");

System.out.println(linkedList.get(1)); // 输出"banana"

2. 集合

集合(Set)是一个无序的集合,其中每个元素都是 的。Java中的Set有两个主要的实现类:HashSet和TreeSet。

HashSet是一个基于哈希表实现的集合类,它允许快速的插入,删除和查找元素。它不保证元素的顺序。例如:

Set<String> hashSet = new HashSet<>();
hashSet.add("apple");
hashSet.add("banana");
hashSet.add("orange");
hashSet.add("apple"); // 现在Set中只包含"apple", "banana"和"orange"

System.out.println(hashSet.size()); // 输出3

TreeSet是一个基于红黑树实现的集合类,它允许有序的插入,删除和查找元素。元素按照自然顺序或自定义顺序比较。例如:

Set<String> treeSet = new TreeSet<>();
treeSet.add("apple");
treeSet.add("banana");
treeSet.add("orange");

System.out.println(treeSet.first()); // 输出"apple"

3. 映射

映射(Map)是一个关联数组,其中每个元素都是由一个 的键和一个值组成的。Java中的Map有两个主要的实现类:HashMap和TreeMap。

HashMap是基于哈希表实现的映射类,它允许快速插入,删除和查找键值对。它不保证键值对的顺序。例如:

Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("apple", 1);
hashMap.put("banana", 2);
hashMap.put("orange", 3);

System.out.println(hashMap.get("banana")); // 输出2

TreeMap是基于红黑树实现的映射类,它允许有序的插入,删除和查找键值对。键按照自然顺序或自定义顺序比较。例如:

Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("apple", 1);
treeMap.put("banana", 2);
treeMap.put("orange", 3);

System.out.println(treeMap.firstEntry().getValue()); // 输出1

总结

Java内置了三种常用的数据结构:列表,集合和映射。它们分别提供了有序集合,无序集合和键值对的操作。选择正确的数据结构可以大大提高程序的效率和可读性。需要根据具体业务场景来选择合适的数据结构。