container Holding Your Objects

本文深入探讨了Java中容器(如ArrayList、Set、Queue)的基本概念和使用方法,并对比了Collection与Map的不同之处,同时介绍了如何利用Arrays和Collections批量操作容器元素。
摘要由CSDN通过智能技术生成

一 、简单介绍:容器(袋子)

      优点:1、不需要担心袋子(container)大小问题,有多少东西放多少。

               2、东西的类型也不限制,什么东西都可以往里扔。 

              3、如果你想容器放规定的东西,用Generis去限制 ArrayList<Apple> .

              4、对于所有子类,都属于父类这一类型。

 放东西:add()

              insert()

 取东西:get(),

 扔东西:remove()

              clear():袋子清空

 替代:set()

 大小:size(),

二、区别

  1、Collection(袋子).取、查询东西时用一个号i,即号和对象关连

      1.1  a List:放进去东西,不希望别人去移来移去,保持原样。

      1.2  a Set:袋子里的东西不能重复。

      1.3  a Queue:排队一样,排的前面的先买(出)。

 2、Map:key-value,取、查询东西时用一个key(object),得到值(object),对象和对象联系在一起。

三、批量放入东西到袋子,Arrays,Collections

  1、Arrays:返回一个List.

     1.1  Arrays.asList(1,2,3,4,5) :

          List<Integer> list = Arrays.asList(16, 17, 18, 19, 20);//但是如果直接赋值,就相当一个数组,袋子大小不能变,list.add(),list.del(),增加和减少袋子都出错。

     1.2 持有一个数组:Integer[] moreInts={6,7,8}, Arrays.asList(moreInts)           

  2、Collections:addAll()

       2.1、Collection的一个对象,list:collection.addAll(Arrays.asList(moreInts)):子类会重写这个方法,当定义时,指定谁时,用谁的方法。

     2.2 、Collections

           1》Collection的一个对象+列表:Collections.addAll(collection, 11, 12, 13, 14, 15);
    2》Collection的一个对象+一个数组 Collections.addAll(collection, moreInts);

     Collections 比Collection 的addAll好用。

  2.3、

    1》构造函数有初始化值+Collections.addAll()

    2》构造函数无初始化值+Collections.addAll()    

   2》比1》快

 例子:Collection只是一个接口,具体的容器是ArrayList.

 
public static void main(String[] args) {
//1构造函数有初始化值,Collections.addAll
Collection<Integer> collection = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 4, 5));
Integer[] moreInts = { 6, 7, 8, 9, 10 };
collection.addAll(Arrays.asList(moreInts));

Collections.addAll(collection, 11, 12, 13, 14, 15);

Collections.addAll(collection, moreInts);

        //2构造函数无初始化值,Collections.addAll

Collection<Integer> collection1 = new ArrayList<Integer>();

Collections.addAll(collection, moreInts);


List<Integer> list = Arrays.asList(16, 17, 18, 19, 20);//
list.set(1, 99); // OK -- modify an element

}

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值