JAVA#Collection'学习札记

1. 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用数组存储对象方面具有诸多弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。

2.Collection接口是 ListSet Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List Queue 集合。

3.e.g.

public class MM {
    @Test
    public void mmm(){
        Collection co=new ArrayList();
        // .size()   返回数组中元素的个数
        System.out.println(co.size());
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
        // .add(Object obj)  向集合中添加一个元素
        co.add(123);
        co.add("kobe");
        co.add(new String());
        System.out.println(co);
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        // .addAll(Collection col)   将形参col包含的所有元素添加到当前集合中
        Collection co1= Arrays.asList(1,2,3,4,6);
        co.addAll(co1);
        System.out.println(co.size());
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
        //  .isEmpty  判断集合是否为空
        System.out.println(co.isEmpty());
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        //.clear  清空集合元素
        co.clear();
        System.out.println(co.isEmpty());
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        //.contains(Object ojb)  判断集合中是否包含指定的obj元素,是的话返回true,不是的话返回false;
        //根据元素所在类的equals()方法进行判断
        co.add(123);
        co.add("kobe");
        co.add(23);
        co.add(24);
        co.add("Iverson Perfact Seiha");
        co.add(new String());
        System.out.println(co.contains(123));
        co.add(new MeiMei("林志玲", 9));
        System.out.println(co.contains(new MeiMei("林志玲", 9)));
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        //.containsAll(Collections c)判断当前集合是否包含c的所有元素
        Collection coo=new ArrayList();
        coo.add(123);
        coo.add("kobe");
        System.out.println(co.containsAll(coo));
        coo.add("宋小艾");
        System.out.println(co.containsAll(coo));
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        //.retainAll(Collection c)  求当前集合与c的共有元素,返回给当前集合;
        System.out.println(co);
        co.retainAll(coo);
        System.out.println(co);
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        //.remove(Object obj)  删除obj元素
        System.out.println(coo);
        coo.remove(123);
        System.out.println(coo);
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        //.removeAll(Collection c);从当前集合删除c中包含的元素
        System.out.println(co);
        co.removeAll(coo);
        System.out.println(co);
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        // .toArray();  将集合转换成数组
        Object[] objects=co.toArray();
        for(int i=0;i<objects.length;i++){
            System.out.println(objects[i]);
        }
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

        // .iterator()  返回一个Iterator接口实现类对象
        Iterator it=co.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }



    }
}
class MeiMei{
    private Integer score;
    private String name;
    public MeiMei(String name,Integer score){
        this.score=score;
        this.name=name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    @Override
    public String toString() {
        return "Name["+this.getName()+"] Score["+this.getScore()+"] ";
    }

    @Override
    public boolean equals(Object obj) {
        if(this==obj){
            return true;
        }
        if(obj==null)
            return false;
        if (getClass()!=obj.getClass())
            return false;
        MeiMei mm=(MeiMei)obj;
        if(name==null){
            if(mm.name!=null)
                return false;
        }else if(!name.equals(mm.name))
            return false;
        if(score!=mm.score)
            return false;

        return true;
    }
}
0
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
[123, kobe, ]
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
8
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
false
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
true
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
true
true
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
true
false
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
[123, kobe, 23, 24, Iverson Perfact Seiha, , Name[林志玲] Score[9] ]
[123, kobe]
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
[123, kobe, 宋小艾]
[kobe, 宋小艾]
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
[123, kobe]
[123]
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
123
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
123

猜你喜欢

转载自blog.csdn.net/Iverson941112/article/details/82286728