※星※ Java 集合

集合 — collection

为什么要使用集合 — 因为数组不能满足需求

数组缺点: 只能保存同一种类型的数据 一但声明数组长度就不能改变

所以集合: 可以保存不同类型的对象(不能存基本数据类型 但是直接把基本数据类型放进去时 系统会自动把基本数据类型转换成它的包装类) 集合的长度是可变的

集合collection接口中的方法

因为collection是接口 所以不能直接创建对象

我们可以用多态的方式来创建


Collection collection = new ArrayList();

// 添加

collection.add("a"):

collection.add("b"):

collection.add("c"):

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

// 获取集合的长度

int s = collection.size();

System.out.println(s);

// 判断是否包含某个元素

boolean contains = collection.contains("a");

System.out.println(contains);

// 从集合中删除一个元素

// 操作的是集合本身

boolean remove = collection.remove("a");

System.out.println(remove);

System.out.println(collection);

// 判断集合是否为空

boolean empty = collection.isEmpty();

System.out.println(empty);

// 清空数组

collection.clear();

System.out.println(collection);

结果


[a, b, c]

3

true

true

[b, c]

fasle

[]

addAll — 将后一个集合中的所有元素添加到前一个集合的末尾

两个集合中重复的元素也会添加


Collection c1 = new ArrayList();

c1.add("a");

c1.add("b");

c1.add("c");

Collection c2 = new ArrayList();

c2.add("d");

c2.add("e");

c2.add("f");

boolean addAll = c1.addAll(c2);

System.out.println(c1);

System.out.println(c2);

System.out.println(addAll);

结果


[a, b, c, d, e, f]

[d, e, f]

true

removeAll — 将两个集合中重合的部分删除

谁调用 就删除谁的元素 另一个集合不变


Collection c1 = new ArrayList();

        c1.add("a");

        c1.add("b");

        c1.add("c");

Collection c2 = new ArrayList();

        c2.add("a");

        c2.add("b");

        c2.add("b");

boolean removeAll = c1.removeAll(c2);

System.out.println(c1);

System.out.println(c2);

System.out.println(removeAll);

结果


[c]

[a, b, b]

true

retainAll — 只保留两个集合中重合的元素

谁调用保留在谁那里 另一个集合不变

保留后的集合 和原集合比较 发生变化返回true

没发生变化 返回flase


Collection c1 = new ArrayList();

        c1.add("a");

        c1.add("b");

        c1.add("c");

Collection c2 = new ArrayList();

        c2.add("a");

        c2.add("b");

        c2.add("b");
boolean retainAll = c1.retainAll(c2);

        System.out.println(c1);

        System.out.println(c2);

        System.out.println(retainAll);

结果


[a, b]

[a, b, b]

true

迭代器 — 遍历

iterator() — 返回一个迭代器

hasNext() — 判断集合中有没有下一个值

next() — 返回迭代的下一个元素 循环里的迭代过程中只能调用一次


Collection collection = new ArrayList();

        collection1.add("a");

        collection1.add("b");

        collection1.add("c");
// 调用迭代器

Iterator iterator = collection.iterator();

// 循环遍历

while (iterator.hasNext()) {

Object next = iterator.next();

System.out.println(next);

}

结果


a

b

c

d
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值