java学习笔记(6)——List集合

List接口

特点:

有序

索引(特有)

操作索引一定要防止索引越界异常

void add(int index, E element); 
    E get(int index);    
    E remove(int index);
    E set(int index, E element);    //用指定元素替换指定位置的元素
                                    //并返回原元素

允许存储重复的元素

List遍历的三种方式:

1.普通for循环

for (int i = 0; i < str.size(); i++) {
            String s = str.get(i);
            System.out.println(s);
        }

2.迭代器遍历

Iterator<String> it = str.iterator();

        while(it.hasNext()) {
            String next = it.next();
            System.out.println(next);
        }

3.增强for循环

for (String s : str) {
            System.out.println(s);
        }

子类:ArrayList集合

不是同步的,就是多线程,意味着 速度快

子类:LinkedList集合

LinkedList是一个 双向链表 ,也是一个 线程 ,速度快

查询慢,增删快

使用LinkedList集合特有的方法,不能使用多态(多态看不到子类特有的方法,除非向下转型)

java学习笔记(6)——List集合

有大量操作首尾元素的方法

void addFirst(E e);
    void addLast(E e);//等效于 add();方法
    
    E getFirst();
    E getLast();
    
    E reomveFirst();
    E removeLast();
    
    E pop();  //从列表所表示的堆栈处弹出一个元素
    //等于addFirst();方法

子类:Vector集合

单列集合的祖宗,出现比较早

底层是一个数组,同步单线程,速度慢,被ArrayList替代了

原文 

https://segmentfault.com/a/1190000023294049

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » java学习笔记(6)——List集合

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址