java 集合 Vector ArrayList LinkedList

Vector

不是重点

Vector vector = new Vector();
        // 添加元素
        vector.addElement("a");
        vector.addElement("b");
        vector.addElement("c");
        vector.addElement("d");
        // 遍历(特有方法)
        // 快速枚举遍历
        Enumeration enumeration = vector.elements();
        while(enumeration.hasMoreElements()) {
            System.out.println(enumeration.nextElement());
        }

List

ArrayList

List 特有方法
add(int index,object obj)

get(int index)

set(int index,Object obj)

remove(int index)

    List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        //向指定索引添加元素
        list.add(4,"a");
        //替换指定索引的元素(不能越界 不能替换)
        list.set(3, "LL");
        //获取指定下表对应的元素
        Object object = list.get(4);
        System.out.println(object + "---get方法");
        System.out.println(list);

        // 利用List 中get方法遍历集合
        for (int i = 0; i < list.size(); i++) {
        System.out.println(list.get(i));
    }
        //删除指定位置的元素
        list.remove(1);
        //利用迭代器遍历
        Iterator iterator = list.iterator();
        while(iterator.hasNext()) {
            //使用迭代器遍历 next只能调用一次

            System.out.println(iterator.next());
        }

删除时的注意事项

    // 删除时 要注意
        List list = new ArrayList();
        list.add(111);
        list.add(222);
        list.add(333);
        // 删除
        // 这里再删除的时候系统没有帮你自动装箱
        // 所以你传进去的时索引
        list.remove(111);

        System.out.println(list);
//      

ArrayList 常见问题

    List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        // 告诉迭代器 我这个长度为4  长度是固定的
//      Iterator iterator =list.iterator();

//      while (iterator.hasNext()) {
//          String string  = (String)iterator.next();
//          if(string.equals("b")) {
//              // 这里会发生并发修改异常
//              //ConcurrentModificationException
//              // 解决方案
//              list.add("oh yes");
//              
//              
//              
//          }
//          
//      }
//      System.out.println(list);
//      

//      
        //获取list  ListIterator
        ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext() ){
            if(listIterator.next().equals("b")) {
                // 迭代器 迭代时不能直接使用集合添加新元素
                // 要让跌代器区添加
                listIterator.add("Oh-yes");
            }

        }
        //注意 一般在对集合迭代的时候 不要轻易改变集合长度
        // 容易发生修改异常 解决方法使用迭代器 自己的添加方法

去除重复元素
1

        //需求 在集合中存储 "a""a""a" "b""b""b" "c" "c" "c"
        // 要求 去除重复元素
        ArrayList list = new ArrayList();
        ArrayList list1 = new ArrayList();


        list.add("a");
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("b");
        list.add("c");
        list.add("c");
        list.add("c");
        Iterator iterator =list.iterator();
        while (iterator.hasNext()) {
            String string = (String)iterator.next();
            if(!list1.contains(string)) {
                list1.add(string);
            }

        }
        System.out.println(list1);

2

        ArrayList list = new ArrayList();
        ArrayList list1 = new ArrayList();


        list.add(new Student("涵涵",18));
        list.add(new Student("涵涵",18));
        list.add(new Student("凉凉",16));
        list.add(new Student("凉凉",16));
        list.add(new Student("星星",80));
        list.add(new Student("星星",80));
            Iterator iterator =list.iterator();
        while (iterator.hasNext()) {
            String string = (String)iterator.next();
            // 核心 包含判断
           // contains方法底层代码 依赖 equals方法
            // equals 方法时基类的 比较地址是否相同
            // 这里需要去Student类中 重写equals方法
            if(!list1.contains(string)) {
                list1.add(string);
            }

        }
        System.out.println(list1);

LinkedList

需求 利用LinkedList 模拟栈的出栈 和入栈

入栈相当于 添加

出栈相当于 删除

什么是栈 和 队列结构

栈结构 :先入后出

队列结构:先入先出

封装一个类 模拟出栈入栈

    LinkedList linkedList = new LinkedList();
        linkedList.addLast("a");
        linkedList.addLast("b");
        // 判断集合是不是空的
        while(!linkedList.isEmpty()) {
            // 从最后一个开始删
            System.out.println(linkedList.removeLast());
        }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值