ArrayList

3.ArrayList

  • 数组结构实现,查询快、增删慢;
  • JDK1.2版本,运行效率快、线程不安全;
public class ArrayListDemo {
    public static void main(String[] args) {
        //创建集合
        ArrayList arrayList = new ArrayList();
        //1.添加元素
        Student s1=new Student("Tom",20);
        Student s2=new Student("Jack",21);
        Student s3=new Student("Rose",22);
        arrayList.add(s1);
        arrayList.add(s2);
        arrayList.add(s3);
        //2.删除元素
        //arrayList.remove(new Student("Tom",20));//不会删除arrayList的tom,需要重写Student的equals()
        //3.遍历元素
        System.out.println("---3.1 使用迭代器----------");
        Iterator iterator=arrayList.iterator();
        while (iterator.hasNext()){
            Student s=(Student)iterator.next();
            System.out.println(s.toString());
        }
        System.out.println("---3.2 使用列表迭代器--------");
        ListIterator listIterator=arrayList.listIterator();
        while (listIterator.hasNext()){
            Student s=(Student)listIterator.next();
            System.out.println(s.toString());
        }
        while (listIterator.hasPrevious()){
            Student s=(Student)listIterator.previous();
            System.out.println(s.toString());
        }
        //4.判断
        System.out.println(arrayList.contains(new Student("Tom",20)));
        System.out.println(arrayList.isEmpty());
        //5.查找
        System.out.println(arrayList.indexOf(new Student("Rose",22)));
    }
}

4.Vector

  • 数组结构实现,查询快、增删慢;
  • JDK1.0版本,运行效率慢、线程安全;
public class VectorDemo {
    public static void main(String[] args) {
        //创建集合
        Vector vector=new Vector();
        //1.添加元素
        vector.add("apple");
        vector.add("orange");
        vector.add("banana");
        System.out.println("元素个数:"+vector.size());
        //2.删除
//        vector.remove(0);
//        vector.remove("banana");
        //3.遍历
        System.out.println("----3.1 使用枚举器-------");
        Enumeration enumeration=vector.elements();
        while (enumeration.hasMoreElements()){
            String s=(String)enumeration.nextElement();
            System.out.println(s);
        }
        //4.判断
        System.out.println(vector.contains("banana"));
        System.out.println(vector.isEmpty());
        //5.Vector其他方法
        vector.get(1);
        vector.firstElement();
        vector.setElementAt("pearl",2);
    }
}

5.LinkedList

  • 链表结构实现,查询慢、增删快
public class LinkedListDemo {
    public static void main(String[] args) {
        //创建集合
        LinkedList list = new LinkedList();
        //1.添加元素
        Student s1=new Student("Tom",20);
        Student s2=new Student("Jack",21);
        Student s3=new Student("Rose",22);
        list.add(s1);
        list.add(s2);
        list.add(s3);
        list.add(s2);
        //2.删除元素
        //arrayList.remove(new Student("Tom",20));//不会删除arrayList的tom,需要重写Student的equals()
        //3.遍历元素
        System.out.println("---3.1 使用迭代器----------");
        Iterator iterator=list.iterator();
        while (iterator.hasNext()){
            Student s=(Student)iterator.next();
            System.out.println(s.toString());
        }
        System.out.println("---3.2 使用列表迭代器--------");
        ListIterator listIterator=list.listIterator();
        while (listIterator.hasNext()){
            Student s=(Student)listIterator.next();
            System.out.println(s.toString());
        }
        while (listIterator.hasPrevious()){
            Student s=(Student)listIterator.previous();
            System.out.println(s.toString());
        }
        //4.判断
        System.out.println(list.contains(new Student("Tom",20)));
        System.out.println(list.isEmpty());
        //5.查找
        System.out.println(list.indexOf(new Student("Rose",22)));
    }
}
posted @   老李学Java  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示