ArrayList集合

ArrayList集合特点:

1.有序,允许重复(有序指跟添加顺序一致)
2.有下标,可以通过下标获取元素,以及将元素插入指定位置
3.底层使用的数据结构是数组,线程不安全
4.数组在内存地址是连续的,因此查找时快,增删速度慢查找速度快,增删速度慢

练习:
创建一个User类,包含name和password两个成员变量.向一个ArrayList对象添加5个User对象,这5个User对象的成员变量的值分别为name=”1”,password=”a”, name=”2”,password=”b”, name=”3”,password=”c”, name=”4”,password=”d”, name=”5”,password=”e”。然后创建一个User对象,这个User对象的成员变量为name=”3”,password=”c”,然后使用contains方法测试这个对象是否包含在ArrayList对象中。

User类

//创建一个User类,包含name和password两个成员变量
public class User {
    private String name;
    private String password;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "User [name=" + name + ", password=" + password + "]";
    }
    public User(String name, String password) {
        super();
        this.name = name;
        this.password = password;
    }
    public User() {
        super();
    }

}

测试代码

import java.util.ArrayList;

public class Test1 {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        //循环添加对象
        //可以将a~e存入一个数组,String[] s=new String[]{"a","b","c","d","e"};
        for(int i=0;i<5;i++){
            ////根据ASCII码,直接获取abcde a--97  b--98    char类型的数据与数字相加会先将字符转为数字再相加,前面加个char类型强转,则会变成对应的字符
            list.add(new User(""+(i+1),Character.toString((char)('a'+i))));
        }
        System.out.println(list);

        //判断是否有User对象的成员变量为name="3",password="c"
        boolean b=list.contains(new User("3", "c"));
        System.out.print(b);//false,永远都是false,尽管内容相同,但这是两个不同的对象
    }
}
原文地址:https://www.cnblogs.com/TCB-Java/p/6770138.html