赞
踩
- List系列集合:添加的元素是
有序的、可重复、有索引
。- Set系列集合:无序、不重复、无索引
- HashSet:无序、不重复、无索引
- LinkedHashSet:
有序
、不重复、无索引- TreeSet:
按照大小默认升序排序
、不重复、无索引
Collection<String> collection = new ArrayList<>(); // 添加元素 boolean add = collection.add("Java"); collection.add("Python"); System.out.println(collection); // 删除元素 remove 如果集合中有多个相同元素,只会删除第一个 boolean remove = collection.remove("Java"); System.out.println(collection); // 判断是否包含指定元素 boolean contains = collection.contains("Python"); System.out.println(contains); // 大小 int size = collection.size(); System.out.println(size); // 清空 collection.clear(); System.out.println(collection); // 判断是否为空 boolean empty = collection.isEmpty(); System.out.println(empty); // 集合转换为数组 Object[] objects = collection.toArray(); System.out.println(Arrays.toString(objects)); // 将一个集合添加到另一个集合 ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); ArrayList<String> list2 = new ArrayList<>(); list2.add("Java"); list2.add("Python"); list2.add("C++"); list.addAll(list2); System.out.println(list);
迭代器:遍历集合的专用方式,Java中迭代器的代表就是Iterator
迭代器取元素之前一定要判断还有没有元素
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
// 获取迭代器对象
Iterator<String> iterator = list.iterator();
// 如果有下一个元素
while (iterator.hasNext()) {
// 获取下一个元素
String next = iterator.next();
System.out.println(next);
}
- 增强for循环就是
迭代器的简便写法
for (String s : list) {
System.out.println(s);
}
Collection.
forEach
(Consumer<? super E> action) 这个方法集成于Iterable
接口
// Collection.forEach(Consumer<? super E> action) 这个方法集成于Iterable接口
list.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
// 使用lambda表达式
list.forEach(s -> System.out.println(s));
// 前后参数一样的话使用方法引用
list.forEach(System.out::println);
- 解决方法:
- 使用for循环正向删除,每次删除,i–
- for循环逆向删除,从后向前删除
- 使用迭代器删除的时候,不要使用集合的remove方法,使用迭代器的remove方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。