Java中Arraylist,vector,还有Linklist的用法及区别_acm


综述:

ArrayList,Vector主要区别为以下几点:
(1):Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList不是。导致Vector效率无法和ArrayList相比;
(2):ArrayList和Vector都采用线性连续存储空间,当存储空间不足的时候,ArrayList默认增加为原来的50%,Vector默认增加为原来的一倍;
(3):Vector可以设置capacityIncrement,而ArrayList不可以,从字面理解就是capacity容量,Increment增加,容量增长的参数。

LinkedList是用链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢。另外,他还提供了List接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用

所以我这里不介绍vector了,只介绍ArrayList和Linkedlist

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 
 4 public class test {
 5 
 6     public static void main(String[] args) {
 7         ArrayList<String> person = new ArrayList<>();
 8         person.add("xiaoming");
 9         person.add("marry");
10         person.add("xuyan");
11         person.add("xiaomi");//在后面添加
12         person.add(0, "xiaofang");//指定位置添加元素
13         person.remove(1);
14         person.remove("xiaomi");//按照指定位置移除元素
15         String str = person.get(2);//按照下标获取元素
16         
17         person.set(2, "xiaofang");//改变指定下标的元素
18         if(!person.isEmpty())//判断是否为空
19             System.out.println(person.indexOf("xiaofang") + " " + person.lastIndexOf("xiaofang"));//判断指定字符串下标
20         
21         
22         System.out.println(person);
23         System.out.println(str);
24     }
25 
26 }

关于linkedlist,这个博客写的真是太好了

感觉就是链表,能够顺序读取,不要随机读取

哈哈

附地址

http://blog.csdn.net/shengmingqijiquan/article/details/52640584


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM