Java集合(Collection)

Collection是一个接口,不能被实例化。但是Java封装了实现类。可以借助于多态的形式来实例化出来父类引用。这个接口下面有很多方法。

Collection下面有两个重要的子接口List接口 和 Set接口。

可以用List接口下面的ArryList类来实现Collection这个接口,用多态的方法。

Collection下的方法

增:
    boolean add(E e);添加一个数据到集合中
    boolean addAll(Collection<? extends E> c); 将一个集合数据添加到另外一个集合中
    Collection<? extends E>:元素 是E本类或者继承的E,才能添加到另外一个集合中


import java.util.ArrayList;//导入ArrayList这个类
import java.util.Collection;//导入Collection这个接口

public class Demo1 {
    public static void main(String[] args) {
        //用多态的方法创建一个容器(父类的引用指向子类的对象)
        Collection<String> list = new ArrayList<>();
        //添加一个数据到集合中
        list.add("小黑");
        list.add("小白");
        System.out.println(list);
        Collection<String> list1 = new ArrayList<>();
        //将一个集合数据添加到另外一个集合中
        list1.add("小红");
        list1.addAll(list);
        System.out.println(list1);
        //是E本类或者继承的E,才能添加到另外一个集合中
    }
}

删:
    boolean remove(Object obj);删除指定的元素
    boolean removeAll(Collection<? extends E> c);  删除的是交集
    void clear();清空所有的元素


import java.util.ArrayList;
import java.util.Collection;

public class Demo10 {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        //删除指定的元素
        list.add("小黑");
        list.add("小白");
        list.add("小明");
        list.remove("小白");
        System.out.println(list);//输出结果[小黑, 小明]
        Collection<String> list1 = new ArrayList<>();
        //删除的是交集
        list1.add("小黑");
        list1.add("小白");
        list1.add("小明");
        list1.add("小虎");
        list1.removeAll(list);
        System.out.println(list1);//输出结果[小白, 小虎]
        Collection<String> list2 = new ArrayList<>();
        //清空所有元素
        list2.add("小黑");
        list2.add("小白");
        list2.add("小明");
        list2.add("小虎");
        list2.clear();
        System.out.println(list2);//输出结果[]
    }
}

查:
    int size();  查看集合中元素的个数 
    Object[] toArray(); 将集合转为Object类型数组
    boolean contains(Object obj); 集合中是否包含这个元素 如果包含返回true 
    boolean containsAll(Collection<? extends E> c);一个集合是否另外一个集合子集合
    boolean isEmpty();   判断集合是否为空



import java.util.ArrayList;
import java.util.Collection;

public class Demo11 {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        //查看集合中元素的个数
        list.add("小黑");
        list.add("小白");
        list.add("小明");
        list.add("小虎");
        System.out.println(list.size());//输出结果4
        Collection<String> list1 = new ArrayList<>();
        //将集合转为Object类型数组
        list1.add("小黑");
        list1.add("小白");
        list1.add("小明");
        list1.add("小虎");
        Object[] objects = list1.toArray();
        //使用for循环集合进行遍历
        for (int i = 0; i < objects.length; i++) {
            System.out.print( " " + objects[i]);
        //输出结果 小黑 小白 小明 小虎
        }
        //集合中是否包含这个元素 如果包含返回true
        System.out.println(list1.contains("小虎"));//输出结果true
        //一个集合是否另外一个集合子集合
        System.out.println(list.containsAll(list1));//输出结果true
        //判断集合是否为空
        Collection<String> list2 = new ArrayList<>();
        System.out.println(list2.isEmpty());//输出结果true
    }
}

遍历集合中的数据

有三种方法

    1.使用for循环
    2.增强for循环
    3.迭代器

1.for循环


import java.util.ArrayList;
import java.util.Collection;

public class Demo12 {
    public static void main(String[] args) {
        Collection<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        System.out.println(list);
        //将集合转为数组,然后再for循环遍历
        Object[] objects = list.toArray();
        for (int i = 0; i < objects.length; i++) {
            System.out.print(objects[i]);
        }//输出结果12345
    }
}

2.增强for循环

语法格式

for (集合中元素的数据类型 临时变量 : 集合或者数组) {
    System.out.println(临时变量)
}



import java.util.ArrayList;
import java.util.Collection;

public class Demo13 {
    public static void main(String[] args) {
        Collection<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        System.out.println(list);
        //将list集合 进行迭代,每次取一个值然后赋值给integer
        // 将list集合中的数据挨个的赋值给integer
        for (Integer integer : list) {
            System.out.print(integer);
        }//输出结果为12345
    }
}

3.迭代器



import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Demo14 {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("孙悟空");
        list.add("猪八戒");
        list.add("沙和尚");
        list.add("唐僧");
        //用迭代器进行数据的遍历
        //通过集合对象创建迭代器对象 cursor  光标
        Iterator<String> iterator = list.iterator();
        //第一个方法  hasNext(); 判断一个集合中是否有下一个元素
        while (iterator.hasNext()){
            //next() 一个方法干了两件事情,
            //会返回当前光标下面的元素。并把光标挪到下一元素的位置
            System.out.println(iterator.next());
            //输出结果为孙悟空
            //猪八戒
            //沙和尚
            //唐僧
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值