[Java Learning "Collection"] Notes

Apprenez les bases des collections et d'ArrayList, ainsi que quelques questions pratiques

rassembler

Insérer la description de l'image ici

Liste des tableaux

Insérer la description de l'image ici
Démonstration d'opération

        //1.创建一个集合
        //<String>表示只能接受字符串类型的数据,为泛型
        ArrayList<String> list = new ArrayList<>();

        //2.添加元素
        list.add("aaa");
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");



        /*//3.删除元素
        boolean result = list.remove("aaa");
        System.out.println(result);//打印结果为true

        System.out.println(list);//[aaa, bbb, ccc]

        String str = list.remove(0);
        System.out.println(str);
        System.out.println(list);//删除0位置的元素
        // 返回被删除元素aaa和被删除元素后的集合*/

        //4.修改
        //把集合1位置的元素改为ddd
        String result = list.set(1, "ddd");//被替换的aaa
        System.out.println(result);//打印被替换的aaa
        System.out.println(list);//[aaa, ddd, bbb, ccc]

        //查询元素
        String s = list.get(1);
        System.out.println(s);

        //遍历用获取集合长度
        for (int i = 0; i < list.size(); i++) {
    
    
            //i索引
            //list.get() 元素
            String s1 = list.get(i);
            System.out.println(s1);
        }

pratique

Définir une collection, ajouter des éléments et itérer

        //1.创建集合
        ArrayList<String> list = new ArrayList<>();

        //2.添加元素
        list.add("吃好了吗?");
        list.add("睡好了吗?");
        list.add("休息好了吗?");
        list.add("拜拜了您内!");

        //3.遍历
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
    
    
            if (i == list.size() - 1){
    
    
                System.out.print(list.get(i));
            }else {
    
    
                System.out.print(list.get(i) + ",");
            }

        }
        System.out.print("]");

pratique
Insérer la description de l'image ici

Afin de mettre des nombres dans une collection, le type de données de base doit être encapsulé

Classe de packaging correspondant au type de données de base
Insérer la description de l'image ici

        //1.创建集合
        ArrayList<Integer> list = new ArrayList<>();
        //重点在括号中的Integer
        //需要添加字符时,把Integer换成Character即可

        //2.添加元素
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        //3.遍历集合
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
    
    
            if (i == list.size()-1){
    
    
                System.out.print(list.get(i));
            }else{
    
    
                System.out.print(list.get(i) + ",");
            }

        }
        System.out.println("]");

Résultat
Insérer la description de l'image ici
Exercice
Insérer la description de l'image ici
La classe d'étudiant n'existant pas, vous devez définir une classe d'étudiant à l'avance et écrire un javabin standard
pour définir la classe d'étudiant.

public class Student {
    
    
    //1.私有化成员变量
    //2.空参构造方法
    //3.带全部参数的构造方法
    //4.get和set方法

    private String name;
    private int age;

    public Student() {
    
    
    }

    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;
    }
}

Terminer les tâches restantes

public class test3 {
    
    
    public static void main(String[] args) {
    
    
        //1.创造集合
        ArrayList<Student> list = new ArrayList<>();

        //2.创建学生对象
        Student s1 = new Student("卫青", 35);
        Student s2 = new Student("张骞", 32);
        Student s3 = new Student("霍去病", 20);

        //3.添加元素
        list.add(s1);
        list.add(s2);
        list.add(s3);

        //4.遍历集合
        for (int i = 0; i < list.size(); i++) {
    
    
            Student stu = list.get(i);
            //这里不能直接打印stu,直接打印出现的是地址值,因为是自己写的类,并且没经过处理。需要打印属性
            System.out.println(stu.getName() + "," +stu.getAge() );

        }
    }
}

Insérer la description de l'image ici
code

public class test4 {
    
    
    public static void main(String[] args) {
    
    
        //1.创建集合
        ArrayList<Student> list = new ArrayList<>();

        //2.键盘录入学生信息并添加到集合当中
        Scanner sc = new Scanner(System.in);
        //因为集合的长度是不定的,所以这里不能写list.size(),要创建几个对象就写几
        for (int i = 0; i <3; i++) {
    
    
            Student s = new Student();//此代码不能写到循环外面

            System.out.println("请输入学生姓名");
            String name = sc.next();
            System.out.println("请输入学生年龄");
            int age = sc.nextInt();

            //把name和age赋值给学生对象
            s.setName(name);
            s.setAge(age);

            //把学生对象添加到集合中
            list.add(s);
        }
        //3.遍历
        for (int i = 0; i < list.size(); i++) {
    
    
            Student stu = list.get(i);
            System.out.println(stu.getName() +","+stu.getAge());
        }
    }
}

résultat de l'opération
Insérer la description de l'image ici

Expliquez Student s = new Student();//Pourquoi ce code ne peut pas être écrit en dehors de la boucle
Insérer la description de l'image ici
Insérer la description de l'image ici
pour créer une classe d'utilisateurs

public class User {
    
    
    private String id;
    private String username;
    private String password;

    public User() {
    
    
    }

    public User(String id, String username, String password) {
    
    
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public String getId() {
    
    
        return id;
    }

    public void setId(String id) {
    
    
        this.id = id;
    }

    public String getUsername() {
    
    
        return username;
    }

    public void setUsername(String username) {
    
    
        this.username = username;
    }

    public String getPassword() {
    
    
        return password;
    }

    public void setPassword(String password) {
    
    
        this.password = password;
    }
}

Requête complète

public class test5 {
    
    
    public static void main(String[] args) {
    
    
        //1.创建集合
        ArrayList<User> list = new ArrayList<>();

        //2.创建三个用户对象
        User u1 = new User("001", "秦皇", "剪灭六国");
        User u2 = new User("002", "汉武", "击穿匈奴");
        User u3 = new User("003", "唐宗", "天可汗");

        //3.把用户对象添加到集合中
        list.add(u1);
        list.add(u2);
        list.add(u3);

        //4.调用方法查看id是否存在
        boolean b = contains(list, "005");//在此处输入想要查询的id

        //5.打印结果
        System.out.println(b);


    }

    public static boolean contains(ArrayList<User> list,String id){
    
    
        for (int i = 0; i < list.size(); i++) {
    
    
            User u = list.get(i);
            String uid = u.getId();
            if (uid.equals(id)){
    
    
                return true;
            }
        }
        return false;
    }
}

résultat de l'opération
Insérer la description de l'image ici

CONSEILS
Sélectionnez les parenthèses et tapez CTRL+p, et l'ordre dans lequel les attributs de données doivent être saisis apparaîtra.

Je suppose que tu aimes

Origine blog.csdn.net/Luohuasheng_/article/details/131708313
conseillé
Classement