建立一個空的鏈表
List<Student> list = new LinkedList<Student>();
java
向鏈表中添加新的結點
list.add(new Student(XXXXXXXXXXXXXXX));
this
刪除結點
list.remove("xxxxxxx");
3d
鏈表中數據的插入
list.add("**");
code
鏈表中數據的排序
Collections.sort();
對象
將list中的元素按升序排序
public static sort(List<E>list)
blog
import java.util.*; class StudentSort implements Comparable { double d=0; String s=""; StudentSort (double d) { this.d=d; } StudentSort (String s) { this.s=s; } public int compareTo(Object b) { StudentSort st=(StudentSort)b; if((this.d-st.d)==0) return -1; else return (int)((this.d-st.d)*1000); } } class Student { String name=null; double math,english,computer,total,aver; Student(String s, double m, double e, double f, double a,double b) { name=s; math=m; english=e; computer=f; total=a; aver=b; } } public class paixu { public static void main(String args[]) { TreeMap<StudentSort, Student> treemap = new TreeMap<StudentSort, Student>(); String str[] = {"20165301陳潭飛", "20165302程上傑", "20165338胡麟", "20165303魏煜", "20165339唐羽童"}; double math[] = {89, 48, 74, 76, 70}; double english[] = {62, 69, 69, 70, 71}; double computer[] = {99, 66, 54, 75, 80}; double total[] = new double[5]; double aver[] = new double[5]; Student student[] = new Student[5]; for (int k = 0; k < student.length; k++) { total[k] = math[k] + english[k] + computer[k]; aver[k] = total[k] / 3; } for (int k = 0; k < student.length; k++) { student[k] = new Student(str[k], math[k], english[k], computer[k], total[k], aver[k]); } StudentSort key[] = new StudentSort[5]; for (int k = 0; k < key.length; k++) { key[k] = new StudentSort(student[k].total); } for (int k = 0; k < student.length; k++) { treemap.put(key[k], student[k]); } int number = treemap.size(); System.out.println("有" + number + "個對象,按總成績排序:"); Collection<Student> collection = treemap.values(); Iterator<Student> iter = collection.iterator(); while (iter.hasNext()) { Student stu = iter.next(); System.out.println("姓名 " + stu.name + " 總成績 " + stu.total); } } }
import java.util.*; public class MyList { public static void main(String [] args) { List<String> list=new LinkedList<String>(); list.add("20165305"); list.add("20165302"); list.add("20165303"); list.add("20165304"); System.out.println("打印初始鏈表"); //把上面四個節點連成一個沒有頭結點的單鏈表 Iterator<String> iter=list.iterator(); while(iter.hasNext()){ String te=iter.next(); System.out.println(te); } //遍歷單鏈表,打印每一個結點的 list.add("20165301"); //把你本身插入到合適的位置(學號升序) System.out.println("插入個人學號後排序,打印鏈表"); Collections.sort(list); iter=list.iterator(); while(iter.hasNext()){ String te=iter.next(); System.out.println(te); } //遍歷單鏈表,打印每一個結點的 list.remove("20165301"); //從鏈表中刪除本身 System.out.println("刪除個人學號後打印鏈表"); iter=list.iterator(); while(iter.hasNext()){ String te=iter.next(); System.out.println(te); } //遍歷單鏈表,打印每一個結點的 } }