Java中的集合框架主要包括以下几种:
- List:有序集合,可以包含重复元素,常见的实现类有ArrayList和LinkedList。ArrayList是基于数组实现的,查询快,增删慢;而LinkedList是基于链表实现的,查询慢,增删快。适用于需要频繁访问和修改元素的场景。
示例代码:
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
System.out.println(list.get(1)); // 输出 banana
- Set:无序集合,不可以包含重复元素,常见的实现类有HashSet和TreeSet。HashSet是基于哈希表实现的,查询和插入速度都很快;而TreeSet是基于红黑树实现的,元素按照自然顺序排序。适用于需要去重的场景。
示例代码:
Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
set.add("banana");
System.out.println(set); // 输出 [apple, banana, orange]
- Map:键值对集合,每个键只能对应一个值,常见的实现类有HashMap和TreeMap。HashMap是基于哈希表实现的,查询和插入速度都很快;而TreeMap是基于红黑树实现的,键按照自然顺序排序。适用于需要根据键查找值的场景。
示例代码:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
System.out.println(map.get("banana")); // 输出 2
以上是Java中常用的集合框架,它们具有不同的特点和用途,可以根据具体场景选择合适的集合类型来提高程序性能和效率。