定義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(); } }