Collection
什么是Collection?
-
Collection是java提供的标准集合集,有一些具体类,可供直接使用,有一些抽象类,提供接口实现。
-
Collection继承之 Iterable接口
-
Iterable接口抽象了两个方法:
- forEach() 循环遍历
- spliterator()
-
Collection定义了很多接口:
- int size(); //容器大小
- boolean isEmpty();//容器是否为空
- boolean contains(Object o);//容器是否包含Object对象
- Iterator iterator();//迭代器(获取集合类各个对象的一种方式)
- Object[] toArray();//将集合的元素转化为数组
- T[] toArray(T[] a);//将集合中的元素按照指定泛型(一致)进行互转 例如:String[] str =strList.toArray(new String[strlist.size()]);
- boolean add(E e);//是否可以添加一个元素
- boolean remove(Object o);//是否可以删除一个元素
- boolean containsAll(Collection<?> c);//判断集合c是否是该集合的子集
- boolean addAll(Collection<? extends E> c);//将集合C中元素中的元素全部添加到集合中
- boolean removeAll(Collection<?> c);//将集合C中的元素在集合中删除
- 方法default boolean removeIf(Predicate<? super E> filter)//删除掉过滤函数
default boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } 例如: public class Person { private String name;//姓名 private Integer age;//年龄 private String gender;//性别 ... //省略构造方法和getter、setter方法 ... } Collection<Person> collection = new ArrayList(); collection.add(new Person("张三", 22, "男")); collection.add(new Person("李四", 19, "女")); collection.add(new Person("王五", 34, "男")); collection.add(new Person("赵六", 30, "男")); collection.add(new Person("田七", 25, "女")); collection.removeIf(new Predicate<Person>() { @Override public boolean test(Person person) { return person.getAge()>=30;//过滤30岁以上的 } }); System.out.println(collection.toString());//查看结果
- boolean retainAll(Collection<?> c);//取出两个集合的交集
- void clear();//清空集合中的元素
- boolean equals(Object o);//比较集合中的元素是否相等
- int hashCode();//集合的hashCode值
- @Override
default Spliterator spliterator() {
return Spliterators.spliterator(this, 0);
}//重写Iterable序列号方法
题外话:谢谢大家观看,有不足之处欢迎大家一起讨论;码字不易,大家喜欢,麻烦点赞哦。
灵魂三问:
- 有没有觉得技术得不到系统的提升,技术成长慢?
- 有没面试懵逼,升职加薪难?
- 有没有想过去大一点的世界看看?
有期望JAVA技术巩固的、Android知识进阶的、期望升职加薪的、Android面试技巧的、大厂面试真题的;大家可以加我QQ哦:1070800492。我们一起学习,一起进步!
重要的事情说三遍:
- 学习、挣钱、自由
- 学习、挣钱、自由
- 学习、挣钱、自由
疫情当下,唯有自强