java中的集合Collection

集合的特点:用于存储对象的容器(存储对象的引用),集合的长度是可变的,集合中不可以存储基本数据类型值

/*
    person p = new person();
    ArrayList a = new ArrayList();
    al.add(p);//不表示将p这个对象放进了al这个容器里了 表示了将p这个对象的地址放进al容器里使al容器指向对象p
    容器中不可能存放的是对象的实体,只能存放对象的地址
    */

集合与数组的区别:

集合中可以存储任意的对象,且长度是可变的

数组中只能存储同一类型的数据,且长度是不可变的。

Collection的常用共性方法:

添加元素 boolean add(Object);

public static void addDemo() {
     ArrayList a1 = new ArrayList();
     a1.add("java01");
     a1.add("java02");
     a1.add("java03");
     a1.add("java04");
     System.out.println(a1);//可以直接打印集合
}
删除元素 boolean remove(Object); 返回的是boolean.(List集合下也可以通过指定的角标来删除某个对象,返回的是被删除的那个对象)
public static void deleteDemo() {
    ArrayList a1 = new ArrayList();
    a1.add("java01");
    a1.add("java02");
    a1.add("java03");
    a1.add("java04");
    boolean b = a1.remove("java03");
    System.out.println(a1);
    System.out.println(b);
}
清空元素:void clear();如果集合不支持该方法会抛出该异常:UnsupportedOperationException
public static void clearDemo() {
    ArrayList a1 = new ArrayList();
    a1.add("java01");
    a1.add("java02");
    a1.add("java03");
    a1.add("java04");
    a1.clear();
    System.out.println(a1);
}
判断某元素是否存在:boolean contains(Object)
public static void containsDemo() {
    ArrayList a1 = new ArrayList();       
    a1.add("java01");
    a1.add("java02");
    a1.add("java03");       
    a1.add("java04");
    boolean b = a1.contains("java03");
    System.out.println("java03是否存在:"+b);
}
获取集合中元素的个数:int size();
public static void sizeDemo() {
    ArrayList a1 = new ArrayList();
    a1.add("java01");
    a1.add("java02");
    a1.add("java03");
    a1.add("java04");
    int a = a1.size();
    System.out.println("size:"+a);
}
判断集合是否为空:boolean isEmpty();
public static void isEmptyDEmo() {
    ArrayList a1 = new ArrayList();
    a1.add("java01");
    a1.add("java02");
    a1.add("java03");
    a1.add("java04");
    boolean b = a1.isEmpty();
    System.out.println("集合是否为空?:"+b);
}
取交集:al1中只会保留和al2中相同的元素,如果没有交集就为空:boolean retainAll(Object)
public static void retainAllDemo() {
     ArrayList al1 = new ArrayList();
     al1.add("java01");
     al1.add("java02");
     al1.add("java03");
     al1.add("java04");

     ArrayList al2 = new ArrayList();
     al2.add("java01");
     al2.add("java02");
     al2.add("java05");
     al2.add("java06");

     //boolean b = al1.retainAll(al2);
     //System.out.println(b);
     System.out.println(al1);
     System.out.println(al2);

     boolean b = al1.removeAll(al2);//把相同的删除
     System.out.println(b);
     System.out.println(al1);}


特殊方法迭代器:取出集合中的元素:Iterator iterator();(返回的是一个Iterator接口)

Iterator接口中的方法:

判断还有没有元素:boolean hasNext()

迭代下一个元素:E next();

删除元素:void remove()

   public static void iteratorDemo() {
        ArrayList al = new ArrayList();
        al.add("java01");
        al.add("java02");
        al.add("java03");
        al.add("java04");

        /*注意:
            在迭代的时候要判断一次获取一次,也就是判断一次hasNext()一次,只能next()一次
            并且在迭代过程中不能使用集合的方法操作集合,会发生并发异常
        */
        Iterator it = al.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
        /*
        使用for可以节省空间
        for (Iterator it = al.iterator(); it.hasNext();) {
        if(it.next().equals("java03"))
            it.remove();
        }
        System.out.println(al);
        */
    }



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值