LinkedList类和ArrayList类

ArrayList类


     ArrayList类封装了一个动态再分配的Object[]数组。每个ArrayList对象有一个capacity。这个capacity表示存储列表中元素的数组的容量。当元素添加到ArrayList时,它的capacity在常量时间内自动增加。 在向一个ArrayList对象添加大量元素的程序中,可使用ensureCapacity方法增加capacity。这可以减少增加重分配的数量。

 
     (1) void ensureCapacity(int minCapacity): 将ArrayList对象容量增加minCapacity 。


     (2) void trimToSize(): 整理ArrayList对象容量为列表当前大小。程序可使用这个操作减
少ArrayList对象存储空间。 


LinkedList类
 


LinkedList类添加了一些处理列表两端元素的方法。 
  
   (1) void addFirst(Object o): 将对象o添加到列表的开头 
        void addLast(Object o):将对象o添加到列表的结尾 
 

  (2) Object getFirst(): 返回列表开头的元素 
       Object getLast(): 返回列表结尾的元素 
 
  (3) Object removeFirst(): 删除并且返回列表开头的元素 
       Object removeLast():删除并且返回列表结尾的元素 
  

  (4) LinkedList(): 构建一个空的链接列表 
       LinkedList(Collection c): 构建一个链接列表,并且添加集合c的所有元素



迭代的三种不同使用方法

(1)关于迭代器的 remove方法

      Iterator it = c.iterator();

      if(it.hasNext()){

Cat cat = (Cat)it.next();
System.out.println(cat.name);

//移除当前找到的 指针还指向的,这个元素
//现在是把helloKitty移除了
//it.remove();

Cat cat1 = (Cat)it.next();
it.remove(); 
//当前这个remove到底移除哪一个元素,是根据当前这个迭代器指向哪个元素来决定的

Object[] objArr = c.toArray();
System.out.println(((Cat)objArr[0]).name);
System.out.println(((Cat)objArr[1]).name);
System.out.println(((Cat)objArr[2]).name);
}

 (2)使用迭代器的方式来清空集合

           while(it.hasNext()){
Cat c1 = (Cat)it.next();
System.out.println(c1.name);
it.remove();
}
System.out.println(c);

(3)第三种迭代方式

           for(int i = 0; i < c.size(); i++){

Object value = ((ArrayList)c).get(i);
System.out.println(value);
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值