Java List 增刪改查


定義2個類,課程類和選課類

package com.imooc.collection;

/**
 * 課程類
 */

public class Course {
    private String id;
    private String name;

    public Course(){

    }

    public Course(String id, String name) {
        this.id = id;
        this.name = name;
    }

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

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

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }
}
package com.imooc.collection;

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

/**
 * 備選課程類
 * List是一個接口類,不能直接實例化,需要使用它的實現類 ArrayList或LinkedList來進行實例化
 */
public class ListTest {
    /**
     * 用於存放備選課程的List
     */
    private List coursesToSelect;

    public ListTest(){
        this.coursesToSelect = new ArrayList();
    }

    public List getCoursesToSelect() {
        return coursesToSelect;
    }

    // 用於往courseToSelect中添加備選課程
    public void testAdd(){
        // 創建一個課程對象,並通過調用add方法,添加到備選課程List中
        Course cr1 = new Course("1", "數據結構");
        coursesToSelect.add(cr1);
        Course temp = (Course) coursesToSelect.get(0);
        System.out.println("添加了課程:" + temp.getId() + ":" + temp.getName());

        Course cr2 = new Course("2", "C語言");
        coursesToSelect.add(0, cr2);
        Course temp2 = (Course) coursesToSelect.get(0);
        System.out.println("添加了課程:" + temp2.getId() + ":" + temp2.getName());

        // Course數組
        Course[] course = {new Course("3", "離散數學"), new Course("4", "匯編語言")};
        coursesToSelect.addAll(Arrays.asList(course));
        Course temp3 = (Course) coursesToSelect.get(2);
        Course temp4 = (Course) coursesToSelect.get(3);
        System.out.println("添加了兩門課程:" + temp3.getName() + ":" + temp4.getName());

        Course[] course2 = {new Course("5", "高等數學"), new Course("6", "大學英語")};
        coursesToSelect.addAll(2, Arrays.asList(course2));

    }

    /**
     * 獲取List中元素的方法
     */
    public void testGet(){
        int size = coursesToSelect.size();
        for(var i=0; i<size; i++){
            Course cr = (Course) coursesToSelect.get(i);
            System.out.println("課程:" + cr.getId() + ":" + cr.getName());
        }
    }

    /**
     * 通過迭代器來遍歷List
     */
    public void testIterator(){
        Iterator it = coursesToSelect.iterator();
        System.out.println("(iterator)有如下課程待選:");
        while (it.hasNext()){
            Course cr = (Course) it.next();
            System.out.println("課程:" + cr.getId() + ":" + cr.getName());

        }
    }

    /**
     * 通過 foreach 方法來遍歷List
     * @param args
     */
    public void testForeach(){
        System.out.println("(foreach)有如下課程待選:");
        for (Object obj: coursesToSelect) {
            Course cr = (Course) obj;
            System.out.println("課程:" + cr.getId() + ":" + cr.getName());

        }
    }

    /**
     * 修改 List 中的元素
     * @param args
     */
    public void testModify(){
        coursesToSelect.set(0, new Course("2", "Python之美"));
    }

    /**
     * 刪除 List 中的元素
     * @param args
     */
    public void testDelete(){
        Course cr = (Course) coursesToSelect.get(0);
        coursesToSelect.remove(cr);
        coursesToSelect.remove(0);

        Course[] courses = {(Course) coursesToSelect.get(0), (Course) coursesToSelect.get(1)};
        coursesToSelect.removeAll(Arrays.asList(courses));
    }

    public static void main(String args[]){
        ListTest lt = new ListTest();
        lt.testAdd();
        lt.testGet();
        lt.testIterator();
        lt.testForeach();

        lt.testModify();

        lt.testDelete();
        lt.testForeach();

    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM