📄 listtest.java
字号:
/** * <p>Title:List演示程序</p> * <p>Copyright: Copyright (c) 2005</p> * * <p>Company: 刘艺</p> * * @author 刘艺 * @version 1.0 */package jbookch5.container;import java.util.*;public class ListTest { public ListTest() { Student ZhangSan=new Student("张三",90); //顺序插入元素 System.out.println("-----------[演示1] 顺序插入元素---------------------"); list1.add(0,ZhangSan); list1.add(1,"张三"); list1.add(2,"李四"); list1.add(3,new Student("王武",85)); list1.add(4,new Student("赵榴",76)); list1.add(5,ZhangSan); printCollection(list1); //根据不同的对象类型,删除元素。 //本程序从列表中删除了String类型的对象,保留了Student类型的对象。 // (对于LinkedList建议使用迭代器遍历删除) System.out.println("-----------[演示2] 删除元素---------------------"); it=list1.listIterator(); while (it.hasNext()){ Object o=it.next(); if (o instanceof String){ System.out.println("String对象 [ "+o+" ] ——从列表中清除!"); it.remove(); } } /* 使用循环遍历时,要考虑删除元素后的索引变化,因此需要使用逆序循环。 for (int i=5;i>-1;i--) { if (list1.get(i) instanceof String){ System.out.println("String对象 [ "+list1.remove(i) +" ] ——从列表中清除!"); } } */ printCollection(list1); //逆序插入元素 System.out.println("-----------[演示3] 逆序插入元素---------------------"); list2.add(0,ZhangSan); list2.add(0,"李四"); printCollection(list2); //插入列表 System.out.println("-----------[演示4] 插入列表---------------------"); list2.addAll(0,list1); printCollection(list2); //定位元素 System.out.println("-----------[演示5] 定位元素---------------------"); System.out.println("首个 [ " +ZhangSan+" ] 对象位于" +list2.indexOf(ZhangSan)); System.out.println("末个 [ " +ZhangSan+" ] 对象位于" +list2.lastIndexOf(ZhangSan)); //截取子列表 System.out.println("-----------[演示6] 截取子列表---------------------"); list1=list2.subList(1,5); printCollection(list1); } public static void main(String[] args){ new ListTest(); } private void printCollection(List list) { it=list.listIterator(); int n=0; while (it.hasNext()){ System.out.println(n+":"+it.next()); n++; } } //List支持不同列表类的实现 List list1=new LinkedList(); List list2=new ArrayList(); ListIterator it;}/** jbookch5.container包中的CollectionTest.java中已经有Student类了, * 如果编译的Student类可以引用到(事先编译CollectionTest.java),则无需重复写入Student类.//Student类 class Student { public Student(String n,int s) { name=n; score=s; } public String toString(){ String s=name+" 成绩:"+score; return s; } String name; int score;} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -