1. 程式人生 > 其它 >Java自學-集合(3)

Java自學-集合(3)

Java自學-集合(3)

1、Collection集合儲存學生物件並遍歷

CollectionDemo.java

package lesson02;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * Author: Gu Jiakai
 * Date: 2021/8/15 14:55
 * FileName: CollectionDemo
 * Description:
 */
public class CollectionDemo {
    public static void main(String[] args) {
        Collection<Student> c=new ArrayList<Student>();

        Student s1 = new Student("蔡偉1號",1);
        Student s2 = new Student("蔡偉2號",1);
        Student s3 = new Student("蔡偉3號",1);

        c.add(s1);
        c.add(s2);
        c.add(s3);

        Iterator<Student> iterator = c.iterator();
        while(iterator.hasNext()){
            Student next = iterator.next();
            System.out.println(next.getName()+","+next.getAge());
        }
    }
}

Student.java

package lesson02;

/**
 * Author: Gu Jiakai
 * Date: 2021/8/15 14:55
 * FileName: Student
 * Description:
 */
public class Student {
    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;
    }
}

2、List集合概述和特點

package lesson01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Author: Gu Jiakai
 * Date: 2021/8/15 15:09
 * FileName: ListDemo01
 * Description:
 */
public class ListDemo01 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<String>();

        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("world");

//        System.out.println(list);
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
        }
    }
}

3、List集合的特有方法

package lesson01;

import java.util.ArrayList;
import java.util.List;

/**
 * Author: Gu Jiakai
 * Date: 2021/8/15 15:14
 * FileName: ListDemo02
 * Description:
 */
public class ListDemo02 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<String>();

        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("world");


//        list.add(1,"javaee");
//        list.add(11,"javaee");//索引越界異常

//        System.out.println(list.remove(1));
//        System.out.println(list.remove(11));//索引越界異常


//        System.out.println(list.set(1, "javaee"));
//        System.out.println(list.set(11, "javaee"));//索引越界異常

//        System.out.println(list.get(1));
//        System.out.println(list.get(11));//索引越界異常

//        System.out.println(list);
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            System.out.println(s);
        }
    }
}

4、List集合儲存學生物件並遍歷

package lesson01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Author: Gu Jiakai
 * Date: 2021/8/15 15:21
 * FileName: ListDemo03
 * Description:
 */
public class ListDemo03 {
    public static void main(String[] args) {
        List<Student> list=new ArrayList<Student>();

        Student s1 = new Student("蔡偉1號",1);
        Student s2 = new Student("蔡偉2號",1);
        Student s3 = new Student("蔡偉3號",1);

        list.add(s1);
        list.add(s2);
        list.add(s3);

        Iterator<Student> iterator = list.iterator();
        while(iterator.hasNext()){
            Student next = iterator.next();
            System.out.println(next.getName()+","+next.getAge());
        }

        System.out.println("--------");

        for (int i = 0; i < list.size(); i++) {
            Student student = list.get(i);
            System.out.println(student.getName()+","+student.getAge());
        }
    }
}

5、併發修改異常

package lesson01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Author: Gu Jiakai
 * Date: 2021/8/15 15:28
 * FileName: ListDemo04
 * Description:
 * ConcurrentModificationException:
 * 當不允許這樣的修改時,可以通過檢測到物件的併發修改的方法來丟擲此異常
 */
public class ListDemo04 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<String>();

        list.add("hello");
        list.add("world");
        list.add("java");

//        Iterator<String> iterator = list.iterator();
//        while(iterator.hasNext()){
//            String next = iterator.next();
//            if(next.equals("world")){
//                list.add("javaee");
//            }
//        }

        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            if(s.equals("world")){
                list.add("javaee");
            }
        }
        System.out.println(list);
    }
}