(三十)、Collection接口

Collection接口

理解

Collection接口-定义了存取对象的方法。

  • 两个非常常用的子接口:
    • List接口:存放的元素有序且允许有重复的集合接口。
    • Set接口:存放的元素无序不包含重复的集合接口,所有的重复内容是靠hashCode()和euqals()两个方法区分的。

说明:
“元素”-对象,实例
“重复”-两个对象通过equals相等。
“有序”-元素存入的顺序与取出的顺序相同。

常用方法

1、 int size(); 返回此collection中的元素数。
2、 boolean isEmpty(); 判断此collection中是否包含元素。
3、 boolean contains(Object obj); 判断此collection是否包含指定的元素。
4、 boolean contains(Collection c); 判断此collection是否包含指定collection中的所有元素。
5、 boolean add(Object element); 向此collection中添加元素。
6、 boolean addAll(Collection c);将指定collection中的所有元素添加到此collection中
7、 boolean remove(Object element); 从此collection中移除指定的元素。
8、 boolean removeAll(Collection c); 移除此collection中那些也包含在指定collection中的所有元素。
9、 void clear(); 移除些collection中所有的元素。
10、 boolean retainAll(Collection c); 仅保留此collection中那些也包含在指定collection的元素。
11、 Iterator iterator(); 返回在此collection的元素上进行迭代的迭代器。
12、 Object[] toArray(); 把此collection转成数组。

Demo.java

public class Demo {

    public static void main(String[] args) {
        // 声明一个集合
        Collection collection = new ArrayList();
        collection.add("第一个元素");
        collection.add("第二个元素");
        collection.add(1);// 存一个integer类型的对象,自动打包
        collection.add(true);// Boolean
        // 判断是否为空
        System.out.println(collection.isEmpty());
        // 判断元素是否在集合中
        System.out.println(collection.contains("第一个元素"));
        // 获取集合长度(元素个数)
        System.out.println(collection.size());
        // 移除指定元素
        System.out.println(collection.remove("2"));
        // 清空所有元素
        // collection.clear();
        Iterator iterator = collection.iterator();// 返回与这个集合关联的迭代器
        // 返回迭代器后面是否还有元素
        // Object obj = iterator.next();// 跳过下一个元素,返回一个元素的引用
        // System.out.println(obj);

        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

Demo2.java

public class Demo2 {
    public static void main(String[] args) {
        Collection<String> names = new ArrayList<String>();
        names.add("志玲");
        names.add("凤姐");
        names.add("思聪");
        names.add("冠希");
        Iterator<String> iterator = names.iterator();
        while (iterator.hasNext()) {
            String name = iterator.next();
            // iterator.remove();// 移除刚刚迭代的元素,可以在迭代的过程中移除
            System.out.println(name);
        }
    }
}

注意:
1.在迭代元素的过程中,移除元素只能使用迭代器的remove方法,移除刚刚next过的那个元素(先next再remove)
2.在迭代元素的过程中,禁止使用集合对象的remove方法
3.迭代的过程中,除了调用迭代器的remove方法,避免添加元素
4.集合在判断一个对象是否存在,调用了这个对象equals方法,然后把集合中的元素作为参数传入,返回true,则认为相等

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值