java学习笔记:集合List

List:有序,可重复性
List接口-->实现类:ArrayList,LinkedList,Vector,Stack

1.ArrayList:线程不安全,底层使用数组实现,可变长度,查询速度快,增删慢。

2.LinkedList:线程安全,链表结构,底层使用链表实现,可变长度,查询速度较慢,增删速度快。

3.Vector:线程安全, Vector 非常类似 ArrayList ,但是 Vector 是同步的。
4.Stack:Stack 继承自 Vector,实现一个后进先出的堆栈,提供5个方法Vector得以被当作堆栈使用。基本的 push 和 pop 方法,还有 peek 方法得到栈顶的元素,empty 方法测试堆栈是否为空,search 方法检测一个元素在堆栈中的位置。Stack 刚创建后是空栈。

1. ArrayList:线程不安全,底层使用数组实现,可变长度,查询速度快,增删慢

    (1)创建ArrayList对象

 创建的该集合对象,可以存储任意类型的对象
   List list1 =new ArrayList();
   List<String> list1 = new ArrayList<String>();

   (2)使用ArrayList对象

    2.1添加方法add()
    list1.add("aaa");
    list1.add("bbb");
由于创建集合时使用了泛型,在编译阶段为我们检查了类型安全
    list1.add(100); 
    list1.add("bbb");
    list1.add("ccc");
    2.2获取集合存储元素个数size()
System.out.println("集合中存储的元素个数:"+list1.size());
    2.3获取指定位置存储的元素信息
System.out.println("指定位置为1的元素信息:"+list1.get(1));
    2.4判断集合是否包含指定元素contain(Object o)
System.out.println("是否包含aayuan 素"+list1.contains("aa"));

   (3)循环遍历集合

    3.1普通for循环
        System.out.println("===使用普通for循环===");
        for (int i=0;i<list1.size();i++){
            System.out.println(list1.get(i));
        }
     3.2增强for循环
        System.out.println("===增强for循环===");
        for (Object o:list1){
            String s = (String)o; //有可能发生类型转换异常,由于并,欸有对存储的集合进行限定
            System.out.println(s);
        }
        for (String s:list1){
            System.out.println(s);
        }
     3.3 使用迭代器Iterator循环
        System.out.println("===使用迭代器Iterator循环===");
        Iterator iterator = list1.iterator();
  Iterator中由hasNest()方法来帮助集合中是否存在下一个元素
        while(iterator.hasNext()){
System.out.println(iterator.next());//如果下一个有值,输出-
        }

   ***********创建使用LinkedList*****************
2.LinkedList:底层采用链表进行实现,查询速度较慢,增删速度块,线程安全
        List<String > list2=new LinkedList<>();
        list2.add("aaaaaa");
        list2.add("bbbbbb");
        list2.add("bbbbbb");
        list2.add("cccccc");
System.out.println("集合中存储的元素个数为:"+list2.size());
        for (String s:list2){
            System.out.println(s);
        }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值