ArryList方法及基本使用

Collection是最顶层的接口,它的三个子接口:
1.List
2.Set
3.Queue
ArrayList就是List的一个实现类

1.List的性质:

public class ArrayListDemo {
    public static void main(String[] args) {
        //创建ArrayList实例
     List<Integer> arrayList=new ArrayList<>();
     arrayList.add(2);
     arrayList.add(5);
     arrayList.add(6);
     arrayList.add(null);
     arrayList.add(5);
     for(int i=0;i<arrayList.size();i++){
         System.out.print(arrayList.get(i)+"   ");
     }
    }
}

上述代码分别往arayList种添加了2,5,6,null,5这五个元素
运行结果:

2   5   6   null   5   
Process finished with exit code 0

可以看出,List具有以下三条性质
1.元素插入有序
2.可插入null值
3.元素可重复

那么set和Queue的性质
Set:
1.元素插入无序
2.元素不可重复
3.可插入null(视情况而定)

Queue:
1.元素插入无序
2.元素不可重复
3.不可插入null

2.ArrayList常见用法

  • //删除元素
    
  • //E remove(int index)   arrayList.remove(2);//删除2号下标的元素
    
  • // boolean remove(Object o)   arrayList.remove(Integer.valueOf(55));//删除数组中值为55的对象
    
  • //修改元素 
    
  • //   E set(int index, E element)  arrayList.set(3,10); // 把3号下标位置的元素值修改为10.并且把3号位置原有数值返回 
    
  •     //统计集合元素个数  int size()
    
  •     //查询元素 E get(int index) 
    
  •     for(int i=0;i<arrayList.size();i++){ System.out.println(arrayList.get(i));  }
    

ArrayList的其他用法

  • arrayList.removeAll; (删除两个集合里面共有的元素): arrayList1.removeAll(arrayList2);
  • arrayList.contain(); 在当前集合中是否包含指定的元素 ,存在则返回true,不存在返回 false
  • arrayList.retainAll();
    arrayList1.retainAll(arrayList2);
    (arrayList1中存放两个集合里面共有的元素 情况不同:a中有集合b,b中有集合a)
  • arrayList.toArray() 将集合转化为数组
    Integer[] array = (Integer[]) a.toArray();
已知 a集合:1 3 4 6,b集合:2 3 6 7。
求:
*     //a与b的交集:
*     //a与b的差集:     b与a的差集:
*     //a与b的补集:
*     //a与b的全集:
//a与b的交集
   a.retainAll(b);
        for(int i=0;i<a.size();i++){
            System.out.print(a.get(i)+"  ");
        }
        //打印结果3,4
 //a与b的差集
        a.removeAll(b);
        for(int i=0;i<a.size();i++){
            System.out.print(a.get(i)+"  ");
        }
        //打印结果1,6
//b与a的差集
       b.removeAll(a);
        for(int i=0;i<b.size();i++){
            System.out.print(b.get(i)+"  ");
        }
        //打印结果2,7
//a与b的补集
    ArrayList<Integer> c=new ArrayList(a);//c中元素和a相同
         a.addAll(b);//把b中的元素加到a中
        c.retainAll(b);//c中为a与b中相交的数字
     for(int i=0;i<c.size();i++){
         a.remove(Integer.valueOf(c.get(i)));
     }//删除重复的数据
     //注:不能使用a.removeAll(c);这样会把重复的数据全部删掉,变成1 2 6 7
             for(int i=0;i<a.size();i++){
         System.out.print(a.get(i)+" ");
     }
  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值