其他分享
首页 > 其他分享> > Day05集合-ArrayList和Vector

Day05集合-ArrayList和Vector

作者:互联网

ArrayList

1.ArrayList特点:

2.ArrayList使用:

package study01.Collection;
//学生工具类

public class student {
    private String name;
    private int age;

    public student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        student student = (student) o;
        if (this.age == student.age && this.name == student.name) return true;
        return false;
    }

}
/*
ArrayList的使用
 */
public class arrayListDemo01 {
    public static void main(String[] args) {
        //创建ArrayList对象
        ArrayList arrayList = new ArrayList<>();
        student s1 = new student("张三",19);
        student s2 = new student("李四",19);
        student s3 = new student("王五",19);
        student s4 = new student("赵六",22);
        //1.添加
        arrayList.add(s1);
        arrayList.add(s2);
        arrayList.add(s3);
        arrayList.add(s4);
        System.out.println(arrayList);

        /*
        2.删除
        remove方法底层调用了Object的equals方法,比较的是对象的引用
        arrayList.remove(new student("张三",19));无法删除new出来的新对象
        若想删除需要重写equals方法
         */
        arrayList.remove(s1);
        arrayList.remove(new student("张三",19));//成功删除
        System.out.println("-------2.删除---------");
        System.out.println(arrayList);

        //3.遍历
        //3.1使用迭代器
        Iterator it = arrayList.iterator();
        System.out.println("-------3.1使用迭代器---------");
        while (it.hasNext()){
            student s = (student)it.next();
            System.out.println(s);
        }
        //3.2使用列表迭代器顺序
        ListIterator lit = arrayList.listIterator();
        System.out.println("-------3.1使用列表迭代器顺序--------");
        while (lit.hasNext()){
            student s = (student)lit.next();
            System.out.println(s);
        }
        //3.3使用列表迭代器逆序
        System.out.println("-------3.1使用列表迭代器逆序--------");
        while (lit.hasPrevious()) {
            student s = (student) lit.previous();
            System.out.println(s);
        }

        //4.判断
        System.out.println("---------4.判断--------");
        System.out.println(arrayList.contains(new student("赵六",22)));

        //5.查找
        System.out.println("---------5.查找--------");
        System.out.println(arrayList.indexOf(s2));
    }
}

//输出结果:
[student{name='张三', age=19}, student{name='李四', age=19}, student{name='王五', age=19}, student{name='赵六', age=22}]
-------2.删除---------
[student{name='李四', age=19}, student{name='王五', age=19}, student{name='赵六', age=22}]
-------3.1使用迭代器---------
student{name='李四', age=19}
student{name='王五', age=19}
student{name='赵六', age=22}
-------3.1使用列表迭代器顺序--------
student{name='李四', age=19}
student{name='王五', age=19}
student{name='赵六', age=22}
-------3.1使用列表迭代器逆序--------
student{name='赵六', age=22}
student{name='王五', age=19}
student{name='李四', age=19}
---------4.判断--------
true
---------5.查找--------
0

3.ArrayList源码分析:

DEFAULT_CAPACITY = 10: 默认容量为10;

size:默认为0

无参构造:创建数组时初始化等于一个空数组(DEFAULTCAPACITY_EMPTY_ELEMENTDATA),size=0,容量=0

add()方法:(Array List每次扩容1.5倍)

4.Vector集合

//Vector使用
public class vectorDemo01 {
    public static void main(String[] args) {
        //创建集合
        Vector vector = new Vector<>();
        //1.增加
        vector.add("夏黑葡萄");
        vector.add("无籽西瓜");
        vector.add("海南青芒");
        vector.add("阳光玫瑰");
        System.out.println(vector);

        //2.删除
        vector.remove("阳光玫瑰");

        //3.遍历,枚举器
        System.out.println("---------枚举器---------");
        Enumeration enm = vector.elements();
        while (enm.hasMoreElements()){
            String s = (String)enm.nextElement();
            System.out.println(s);
        }

        //4.判断
        System.out.println("---------判断---------");
        System.out.println(vector.isEmpty());
        System.out.println(vector.contains("无籽西瓜"));
        //5.其他方法
        System.out.println("---------其他方法---------");
        System.out.println("vector第一个元素为:" + vector.firstElement());
        System.out.println("vector最后一个元素为:" + vector.lastElement());
        System.out.println("vector下标为0的元素为:" + vector.elementAt(0));
    }
}

//输出结果为:
[夏黑葡萄, 无籽西瓜, 海南青芒, 阳光玫瑰]
---------枚举器---------
夏黑葡萄
无籽西瓜
海南青芒
---------判断---------
false
true
---------其他方法---------
vector第一个元素为:夏黑葡萄
vector最后一个元素为:海南青芒
vector下标为0的元素为:夏黑葡萄

标签:name,age,System,Day05,Vector,student,println,ArrayList,out
来源: https://www.cnblogs.com/workplace-blog/p/16628941.html