0基础学java_Java类集之ArrayList

本文详细解释了类集的概念,包括List、Set、Queue和SortedSet等接口的特点,并通过示例代码展示了ArrayList如何用于添加、删除和遍历数据。同时,对比了ArrayList与LinkedList在数据读取和操作上的性能差异。

什么是类集?

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

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更多的时候适合添加或删除数据。

转载于:https://www.cnblogs.com/feimaoyuzhubaobao/p/9948539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值