0基础学java_Java类集之ArrayList

什么是类集?

类集实际上就是动态的对象数组,与一般的对象不同,类集的对象内容可以随意扩充。

Collection下面分为很多个接口,其中有个list接口,list接口可以存放任意的数据,而且list接口运行内容重复,list接口要比collection接口更强大,因为大量扩充了collection接口的操作。

List接口:可以存放重复的内容

set接口:不能存放重复的内容,所有的重复内容是靠hashcode和equals两个方法区分的

Queue:队列接口

SortedSet接口:可以对集合中的数据进行排序

List接口常用子类—ArrayList,可以通过对象的多态性为List接口实例化。

举例:向ArrayList集合之后添加数据

 1 package com.feimao.code;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collection;
 5 import java.util.List;
 6 
 7 public class ArrayListDemo01 {
 8     public static void main(String args[]){
 9         List<String> l = new ArrayList<String>();
10         Collection<String> c = new ArrayList<String>();
11         l.add("feimao");
12         l.add(0 , "yuzhubaobao");
13         System.out.println(l);
14         c.add("hello");
15         c.add("world");
16         l.addAll(c);
17         System.out.println(l);
18     }
19 }
20 
21  

 举例:删除集合中的元素

 1 package com.feimao.code;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collection;
 5 import java.util.List;
 6 
 7 public class ArrayListDemo01 {
 8     public static void main(String args[]) {
 9         List<String> l = new ArrayList<String>();
10         Collection<String> c = new ArrayList<String>();
11         l.add("feimao");
12         l.add(0, "yuzhubaobao");
13         l.add("taotao");
14         System.out.println(l);
15         l.remove("yuzhubaobao");
16         l.remove(1);
17         System.out.println(l);
18     }
19 }

 

举例:删除数据

 1 package com.feimao.code;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collection;
 5 import java.util.List;
 6 
 7 public class ArrayListDemo01 {
 8     public static void main(String args[]) {
 9         List<String> l = new ArrayList<String>();
10         Collection<String> c = new ArrayList<String>();
11         l.add("feimao");
12         l.add(0, "yuzhubaobao");
13         l.add("taotao");
14         l.add("we");
15         l.add("are a family");
16         System.out.println("从前向后输出:" );
17         for(int i = 0 ; i < l.size() ; i++){
18             System.out.print(l.get(i) + "、");
19         }
20 
21         System.out.println("从后向前输出:" );
22         for(int j = l.size()-1 ; j >= 0 ; j--){
23             System.out.println(l.get(j) + "、");
24         }
25     }
26 }

 

   面试:Arraylist和linklist的区别,哪个读取数据更快?

ArrayList和LinkedList的大致区别如下:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 

ArrayList更适合读取数据,linkedList更多的时候适合添加或删除数据。

posted @ 2018-11-12 19:31  肥猫与猪宝宝  阅读(135)  评论(0)    收藏  举报