Java 中 Collection接口中常用的方法

Collection接口中常用的方法

关于java.util.Collection接口中常用的方法

  1. Collection中能放什么元素
    没有使用“泛型”之前,Collectiom中可以存放Object的所有子类型
    使用了“泛型”之后,Collection中只能存放某个具体的类型。
    (集合中不能存储基本数据类型,也不能存储Java对象,只能存储Java对象的内存地址)

  2. Collection中的常用方法
    boolean add(Object e)//向集合中添加元素
    int size()获取集合中元素个数
    void clear() 从此集合中删除所有元素(可选操作)
    boolean contains(Object o) 如果此集合包含指定的元素,则返回 true
    boolean remove(Object o) 从该集合中删除指定元素的单个实例(如果存在)(可选操作)。
    boolean isEmpty() 如果此集合不包含元素,则返回 true 。
    Object[] toArray() 返回一个包含此集合中所有元素的数组。

Iterator iterator() 返回此集合中的元素的迭代器。

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

public class CollectionTest01 {
    public static void main(String[] args) {
        //创建一个集合对象
        //Collection collection = new Collection;接口不能创建对象,接口时抽象的,无法实例化
        //多态
        Collection c= new ArrayList();
        //测试Collection接口中常用的方法
        c.add(1200);//自动装箱(Java5新特性),实际上放进去一个对象地址。Integer x = new Integer(1200);
        c.add(3.14);
        c.add(new Object());
        c.add(new Student());
        c.add(true);//自动装箱
        //获取集合中元素个数
        System.out.println("集合中元素个数是:"+c.size());//5个元素,不是length
        c.clear();
        System.out.println("集合中元素个数是:"+c.size());// 0个元素

        c.add("hello");//“hello”对象的内存地址放到集合中
        c.add("world");
        c.add("浩克");
        c.add("绿巨人");
        c.add(1);

        //判断集合中是否包含“绿巨人”
        boolean flag = c.contains("绿巨人");
        System.out.println(flag);//true
        boolean flag2 = c.contains("绿巨人2");
        System.out.println(flag2);//false

        System.out.println(c.contains("1"));//true

        //删除集合中某个元素
        c.remove(1);
        //判断集合是否为空
        System.out.println(c.isEmpty());//false

        //转换成数组
        Object[] objs= c.toArray();
        for (int i = 0; i < objs.length; i++) {
            //遍历数组
            System.out.println(objs[i]);//这里自动调用toString()
        }

    }
}

关于集合遍历,迭代专题(重点*********)

迭代器是一个对象。迭代器对象有两个方法,hasNext()和next()

/*
 *关于集合遍历,迭代专题(重点)
 *Iterator<E>  iterator() 返回此集合中的元素的迭代器。
 */
public class CollectionTest02 {
    public static void main(String[] args) {
        //注意:一下讲解的遍历方式/迭代方式,是所有的Collection通用的一种方式
        //在Map集合中不能使用,在所有的Collection以及子类中使用。
        //创建集合对象
        Collection c = new ArrayList();//后面的集合无所谓,主要看前面的Collection接口
        //添加元素
        c.add("abc");
        c.add("def");
        c.add(100);
        c.add(new Object());
        //对集合Collection遍历/迭代
        //第一步:获取对象的迭代器对象 Itertor
        Iterator it = c.iterator();
        //第二步,通过以上获取的迭代器对象开始迭代/遍历集合
        /*
        以下方法是迭代器Iterator中的方法:
        boolean    hasNext()  如果迭代具有更多元素,则返回 true 。
        Object     next() 返回迭代中的下一个元素。
        default void   remove() 从底层集合中删除此迭代器返回的最后一个元素(可选操作)。
        * */
        boolean hasNext = it.hasNext();
        if(hasNext){
            //不管你存进去什么取出来统一是Object
            Object obj = it.next();
            System.out.println(obj);
        }
        if(hasNext){
            //不管你存进去什么取出来统一是Object
            Object obj = it.next();
            System.out.println(obj);
        }
        if(hasNext){
            //不管你存进去什么取出来统一是Object
            Object obj = it.next();
            System.out.println(obj);
        }
        if(hasNext){
            //不管你存进去什么取出来统一是Object
            Object obj = it.next();
            System.out.println(obj);
        }



    }
}

/*
* 关于集合的遍历/迭代
* */
public class CollectionTest03 {
    public static void main(String[] args) {
        //创建集合对象
        Collection c1 = new ArrayList();//ArrayList集合:有序可以重复
        //添加元素
        c1.add(1);
        c1.add(2);
        c1.add(3);
        c1.add(4);
        c1.add(1);
        //迭代集合
        Iterator it = c1.iterator();
        while(it.hasNext()){
            //存进去什么类型,取出来是什么类型,只是在输出的时候,println会调用toString()方法
            System.out.println(it.next());
        }

        //HashSet集合:无序不可重复
        Collection c2 = new HashSet();
        //无序:存进去,和取出来的顺序不一定相同。
        c2.add(100);
        c2.add(200);
        c2.add(90);
        c2.add(20);
        c2.add(300);
        c2.add(50);
        c2.add(100);
        Iterator it1 = c2.iterator();
        while(it1.hasNext()){
            System.out.println(it1.next());
        }

    }
}
posted @   十几里路  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示