java基础之容器Collection

1.如果并不知道程序运行时会需要多少对象,或者需要 更复杂方式存储对象——可以使用Java集合框架

2.Collection特点:

  • 存放的是单一值
  • 可以存放不同类型的数据,而数组只能存放固定类型的数据
  • 当使用ArrayList子类实现的时候,初始化的长度是10,当长度不够的时候,会进行扩容操作。

3.Collection继承关系框架图

4.Collection、List、Set和Map存储数据的区别

  • Collection 接口存储一组不唯一,无序的对象
  • List 接口存储一组不唯一,有序(插入顺序)的对象
  • Set 接口存储一组唯一,无序的对象
  • Map接口存储一组键值对象,提供key到value的映射

5.Collection的常用api方法

5.1 增加数据的方法

  • add:要求必须传入的参数是Object对象,因此当写入基本数据类型的时候,包含了自动拆箱和自动装箱的过程。

  • addAll:添加另一个集合的元素到此集合中

5.2  删除数据的方法

  • clear:只是清空集合中的元素,但是此集合对象并没有被回收

  • remove:删除指定元素

  • removeAll:删除集合元素,集合A-集合B的关系,集合A中没有集合B的元素,也能删除成功,只要删除1各元素,也返回true。如果一个都没有删除,返回false

5.3 查询数据的方法

  • isEmpty:判断集合是否等于空
  • contains:判断集合中是否包含元素中的指定值
  • containAll:判断此集合中是否包含另外一个集合
  • retainAll:保留集合A∩集合B的值,如果集合A的值更改为true,如果没有更改为false

5.4 集合转数组的方法

  • toArray:将集合转换为数组
     
Collection collection=new ArrayList();
//1是自动装箱
collection.add(1);
collection.add(true);
collection.add(1.23);
collection.add("123");
System.ou	t.println(collection);
//Collection中没有add(index,object)方法,但是ArrayList有add(index,object),所以需要强制转换
((ArrayList) collection).add(0, "lsn");
System.out.println(collection);

Collection collection1=new ArrayList();
collection1.add("12");
collection1.add("34");
collection1.add("56");

((ArrayList) collection).addAll(2, collection1);
System.out.println(collection);

System.out.println(collection.size());

System.out.println(collection.contains("123"));
System.out.println(collection.containsAll(collection1));

System.out.println(collection.remove("123"));
System.out.println(collection);

collection1.add("1234");
//retainAll取前者集合和后者集合的交集。如果前者集合发生改变,返回true,如果没有改变,返回false。前者集合变为交集的集合。
System.out.println(collection.retainAll(collection1));
System.out.println(collection);

Object[] objects = collection.toArray();
collection.toArray();
collection.clear();
System.out.println(collection1);
-------------------------------------------
输出结果:
[1, true, 1.23, 123]
[lsn, 1, true, 1.23, 123]
[lsn, 1, 12, 34, 56, true, 1.23, 123]
8
true
true
true
[lsn, 1, 12, 34, 56, true, 1.23]
true
[12, 34, 56]
[12, 34, 56, 1234]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值