[集合]Java的集合框架 Collection集合
来源:互联网 发布:java 邮箱匹配 编辑:程序博客网 时间:2024/04/26 15:24
Java语言中集合框架的顶层是: Collection集合 和 Map集合。
其中Collection集合操作的元素基本单位是:单个元素。
其中Map集合操作元素的基本单位是:单对元素。
在实际开发中很少直接使用Collection集合,通常都是使用该集合的子集合:List集合、Queue集合以及Set集合。
void
clear()
- 用于将当前集合中的所有元素移除。
boolean
contains(Object o)
- 用于判断当前集合中是否包含参数指定的单个元素。
- (o==null ? e==null : o.equals(e))
boolean
containsAll(Collection<?> c)
- 用于判断当前集合中是否包含参数指定集合中的所有元素。
boolean
isEmpty()
- 用于判断当前集合是否为空。
int
size()
- 用于返回当前集合中元素的个数。
boolean
retainAll(Collection<? c) - 用于获取当前集合和参数集合的交集并保留到当前集合中。
- 若当前集合中的内容发生了更改则返回true,否则返回false
import java.util.*;
public class TestCollection {
public static void main(String[] args) {
//获取Collection集合的引用
//Collection c1 = new Collection(); error 接口不能构造对象
//接口类型的引用指向了实现类的对象,形成了多态
Collection c1 = new ArrayList();
//向集合c1中增加元素
boolean b1 = c1.add(new Integer(1)); //传入引用类型 基本类型要用包装
System.out.println("b1 = " + b1); //true
//自动调用toString(),编译器自动添加
//在编译阶段调用父类的方法,在运行阶段调用子类重写以后的方法,ArrayList类
//toString()方法默认打印的格式为:[元素1, 元素2, ...]
System.out.println("c1 = " + c1); //[1]
b1 = c1.add(new String("two"));
System.out.println("b1 = " + b1); //true
System.out.println("c1 = " + c1); //[1, two]
b1 = c1.add(new Student(1001, "zhangfei", 30));
System.out.println("b1 = " + b1); //true
//当打印集合中的元素时,本质上调用每个元素对应的toString()来打印
//[1, two, Student[id=1001, name=zhangfei, age=30]]
System.out.println("c1 = " + c1);
System.out.println("--------------------------------------");
//准备另外一个集合
Collection c2 = new ArrayList();
c2.add(3); //采用了自动装箱技术 int => Integer
System.out.println("c2 = " + c2); //[3]
c2.add("four");
System.out.println("c2 = " + c2); //[3, four]
System.out.println("当前集合的元素个数是:" + c2.size()); //2
System.out.println("当前集合的元素个数是:" + c1.size()); //3
System.out.println("--------------------------------------");
//将集合c2中的所有元素添加到集合c1中,本质上就是将c2的元素一个个取出来放入c1
b1 = c1.addAll(c2);
//本质上将c2看做一个元素,然后整体放入c1中
//b1 = c1.add(c2);
System.out.println("b1 = " + b1); //b1 = true
//[1, two, Student[id=1001, name=zhangfei, age=30], 3, four]
//[1, two, Student[id=1001, name=zhangfei, age=30], [3, four]]
System.out.println("c1 = " + c1);
System.out.println("c2 = " + c2); //[3, four]
System.out.println("--------------------------------------");
//【查】判断集合c1中是否包含参数指定的单个元素
//[1, two, Student[id=1001, name=zhangfei, age=30], 3, four]
b1 = c1.contains(new Integer(1));
System.out.println("b1 = " + b1); //b1 = true
b1 = c1.contains(new Integer(2));
System.out.println("b1 = " + b1); //b1 = false
b1 = c1.contains(new String("two"));
System.out.println("b1 = " + b1); //b1 = true
//contains方法的原理:参数对象调用equals()方法与集合中的元素一个一个比较
//当Student类没有重写equals()方法时,则比较对象的地址,因此结果为false
//当Student类重写equals()方法后,则比较对象的内容,因此结果为true
b1 = c1.contains(new Student(1001, "zhangfei", 30));
System.out.println("b1 = " + b1); //false b1 = true
System.out.println("--------------------------------------");
//判断集合c1中是否包含参数指定的多个元素
//[1, two, Student[id=1001, name=zhangfei, age=30], 3, four]
//【查】将集合c2中的元素一个个拿出来在c1中进行查找
//[3, four]
//b1 = c1.containsAll(c2);
//【查】表示判断集合c1中是否有元素c2这个整体
b1 = c1.contains(c2);
System.out.println("b1 = " + b1); //b1 = true false
System.out.println("--------------------------------------");
//【删】实现集合c1中单个元素的删除
b1 = c1.remove(new String("2"));
System.out.println("b1 = " + b1); //b1 = false
//[1, two, Student[id=1001, name=zhangfei, age=30], 3, four]
System.out.println("c1 = " + c1); //
b1 = c1.remove(new String("two"));
System.out.println("b1 = " + b1); //b1 = true
//[1, Student[id=1001, name=zhangfei, age=30], 3, four]
System.out.println("c1 = " + c1); //
System.out.println("--------------------------------------");
//[1, Student[id=1001, name=zhangfei, age=30], 3, four]
System.out.println("c1 = " + c1); //
//[3, four]
System.out.println("c2 = " + c2);
//【删】实现集合c1中多个元素的删除
//表示从集合c1中将集合c2中的元素一个一个删除
b1 = c1.removeAll(c2);
//表示从集合c1中将集合c2这个元素整体删除
//b1 = c1.remove(c2);
System.out.println("b1 = " + b1); //true false
//[1, Student[id=1001, name=zhangfei, age=30], 3, four]
System.out.println("c1 = " + c1); //[1, Student[id=1001, name=zhangfei, age=30]]
System.out.println("c2 = " + c2); //[3, four]
System.out.println("--------------------------------------");
//【删】实现集合c1中所有元素的删除
//c1.clear();
//System.out.println("c1 = " + c1); //[啥也没有]
//System.out.println(c1.isEmpty()); //true
//System.out.println(c1.size()); //0
System.out.println("--------------------------------------");
//计算两个集合的交集并保留到当前集合中
System.out.println("c1 = " + c1); //[1, Student[id=1001, name=zhangfei, age=30]]
System.out.println("c2 = " + c2); //[3, four]
//计算c1和c2的交集并保留到c1中,若c1集合中的内容发生了改变则返回true
b1 = c1.retainAll(c2);
System.out.println("b1 = " + b1); //true
System.out.println("c1 = " + c1); //[啥也没有]
System.out.println("c2 = " + c2); //[3, four]
System.out.println("--------------------------------------");
//计算两个集合的交集并保留到当前集合中
//计算c2和c2的交集并保留到c2中,c2中的内容不发生改变,因此返回false
b1 = c2.retainAll(c2);
System.out.println("b1 = " + b1); //false
System.out.println("c2 = " + c2); //[3, four]
}
}
- [集合]Java的集合框架 Collection集合
- java的Collection集合框架
- Java集合框架Collection
- Java集合框架Collection
- Java 集合框架-Collection
- Java Collection框架集合
- Java Collection (集合框架)
- java集合框架->Collection
- Java集合框架Collection
- JAVA集合框架Collection
- Java Collection集合框架
- 集合框架-Collection集合
- Java集合框架--单列集合(Collection)
- Java集合框架Collection介绍
- Java集合框架Collection介绍
- collection java集合类框架
- Java集合-Collection整体框架
- java集合框架之Collection
- Discuz!X前台任意文件删除漏洞
- opencv: 图像缩放(cv2.resize)
- [BZOJ]4443 [SCOI2015] 小凸玩矩阵 二分答案 + 二分图最大匹配
- ehcarts折线图
- Hibernate中常见问题 No row with the given identifier exists问题的原因及解决
- [集合]Java的集合框架 Collection集合
- Tablayout
- MIT18.06线性代数课程笔记3b:矩阵的逆元
- String的拆分和替换
- SpringMVC执行流程
- STM32——PB4、PB3、PA15 IO不受控问题,JTAG IO
- OCX控件注册及无法注册原因总结
- python二分法
- 23种设计模式