集合类是Java中用于存储和操作对象的容器。它们提供了各种数据结构和算法,以满足不同的编程需求。以下是一些常见的集合类及其用法:
List:
概念:List是一个有序的集合,可以包含重复的元素。它提供了按索引访问元素的方法。
用法:
ArrayList:基于数组实现,适用于频繁的随机访问和遍历操作。
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
String firstElement = list.get(0); // 获取第一个元素
LinkedList:基于链表实现,适用于频繁的插入和删除操作。
List<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
list.add(1, "Orange"); // 在索引1处插入元素
Set:
概念:Set是一个不允许重复元素的集合。它没有定义元素的顺序。
用法:
HashSet:基于哈希表实现,提供快速的查找操作。
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
boolean containsApple = set.contains("Apple"); // 检查是否包含元素
TreeSet:基于红黑树实现,元素会按照自然顺序或指定的比较器进行排序。
Set<String> set = new TreeSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
String firstElement = set.first(); // 获取第一个元素(最小的元素)
Map:
概念:Map是一个键值对的集合,每个键对应一个值。键是唯一的,值可以重复。
用法:
HashMap:基于哈希表实现,提供快速的查找操作。
Map<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
int value = map.get("Apple"); // 根据键获取值
TreeMap:基于红黑树实现,键会按照自然顺序或指定的比较器进行排序。
Map<String, Integer> map = new TreeMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
String firstKey = map.firstKey(); // 获取第一个键(最小的键)
Queue:
概念:Queue是一个先进先出(FIFO)的集合,用于在队尾添加元素,在队头删除元素。
用法:
LinkedList:可以用作队列的实现。
Queue<String> queue = new LinkedList<>();
queue.add("Apple");
queue.add("Banana");
queue.add("Cherry");
String firstElement = queue.poll(); // 移除并返回队头元素
PriorityQueue:基于优先级堆实现的队列,元素会按照优先级顺序进行排序。
Queue<Integer> queue = new PriorityQueue<>();
queue.add(3);
queue.add(1);
queue.add(2);
int firstElement = queue.poll(); // 移除并返回最小的元素
Deque:
概念:Deque是一个双端队列,可以在队头和队尾进行插入和删除操作。
用法:
LinkedList:可以用作双端队列的实现。
Deque<String> deque = new LinkedList<>();
deque.addFirst("Apple");
deque.addLast("Banana");
deque.addFirst("Cherry");
String firstElement = deque.getFirst(); // 获取队头元素
String lastElement = deque.getLast(); // 获取队尾元素
这些集合类提供了丰富的方法来操作和处理数据,可以根据具体的需求选择合适的集合类来使用。
Collection 类是Java集合框架中的一个接口,它是所有集合类的根接口。Collection 接口定义了一些通用的方法,用于操作集合中的元素,如添加、删除、遍历等。
Collection 接口有三个主要的子接口:
List:有序的集合,可以包含重复的元素。
Set:不允许重复元素的集合。
Queue:通常用于在队尾添加元素,在队头删除元素的集合。
Collection 接口定义的一些常用方法包括:
add(E e):向集合中添加一个元素。
addAll(Collection<? extends E> c):将指定集合中的所有元素添加到当前集合中。
remove(Object o):从集合中移除指定的元素。
removeAll(Collection<?> c):移除当前集合中与指定集合中相同的所有元素。
contains(Object o):判断集合中是否包含指定的元素。
containsAll(Collection<?> c):判断集合中是否包含指定集合中的所有元素。
size():返回集合中的元素个数。
isEmpty():判断集合是否为空。
clear():移除集合中的所有元素。
iterator():返回一个迭代器,用于遍历集合中的元素。
在实际使用中,通常不会直接使用 Collection 接口,而是使用它的子接口或实现类,如 ArrayList、LinkedList、HashSet、TreeSet、PriorityQueue 等。这些实现类提供了不同的数据结构和性能特点,以满足不同的需求。
例如,ArrayList 是一个基于数组实现的 List,适用于频繁的随机访问和遍历操作;LinkedList 是一个基于链表实现的 List,适用于频繁的插入和删除操作;HashSet 是一个基于哈希表实现的 Set,提供快速的查找操作;TreeSet 是一个基于红黑树实现的 Set,元素会按照自然顺序或指定的比较器进行排序。
如果方法接受一个 Collection<> 类型的参数 ,这意味着它可以接受任何实现了 Collection 接口的集合类,如 List、Set 等。这样的设计使得方法更加灵活,可以处理不同类型的集合。

245

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



