📄 fig9-17.java
字号:
import java.io.*;
import java.util.*;
class Person implements Comparable {
private String name;
public int age;
public Person(String s, int i) {
name = s; age = i;
}
public Person() {
this("",0);
}
public String toString() {
return "(" + name + ", " + age + ")";
}
public int compareTo(Object p) {
return name.compareTo(((Person)p).name);
}
}
class PersonComparator implements Comparator {
public int compare(Object ob1, Object ob2) {
if (ob1 == ob2)
return 0;
else if(ob1 == null)
return -1;
else if (ob2 == null)
return 1;
return ((Person)ob1).age - ((Person)ob2).age;
}
}
class TestSorting {
static void printArray(Object[] a) {
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + " ");
System.out.println();
}
public static void main(String[] ar) {
int[] intArr1 = {4, 6, 7, 4, 2};
int[] intArr2 = {4, 6, 7, 4, 2};
char[] charArr = {'a', 'n', 'd', 'v', 'a'};
Arrays.sort(intArr1); // intArr1 = [2, 4, 4, 6, 7]
for (int i = 0; i < intArr1.length; i++)
System.out.print(intArr1[i] + " ");
System.out.println();
Arrays.sort(intArr2,1,intArr2.length-2); // intArr2 = [4, 6, 7, 4, 2]
for (int i = 0; i < intArr2.length; i++)
System.out.print(intArr2[i] + " ");
System.out.println();
Arrays.sort(charArr); // charArr = ['a', 'a', 'd', 'n', 'v']
for (int i = 0; i < charArr.length; i++)
System.out.print(charArr[i] + " ");
System.out.println();
Person[] persons1 = {new Person("Tom",50), new Person("Lili",29),
new Person("Jeff",44)};
Person[] persons2 = {new Person("Tom",50), new Person("Lili",29),
new Person("Jeff",44), null};
Vector personVector = new Vector();
LinkedList personLList1 = new LinkedList();
LinkedList personLList2 = new LinkedList();
ArrayList personAList = new ArrayList();
for (int i = 0; i < persons1.length; i++) {
personVector.add(persons1[i]);
personLList1.add(persons1[i]);
personLList2.add(persons1[i]);
personAList.add(persons1[i]);
}
Collections.sort(personVector);
// personVector = [(Jeff, 44), (Lili, 29), (Tom, 50)]
Collections.sort(personLList1);
// personLList1 = [(Jeff, 44), (Lili, 29), (Tom, 50)]
Collections.sort(personLList2,new PersonComparator());
// personLList2 = [(Lili, 29), (Jeff, 44), (Tom, 50)]
Collections.sort(personAList);
// personAList = [(Jeff, 44), (Lili, 29), (Tom, 50)]
System.out.println(personVector);
System.out.println("personLList1 " + personLList1);
System.out.println("personLList2 " + personLList2);
System.out.println(personAList);
Arrays.sort(persons1);
// persons1 = [(Jeff, 44), (Lili, 29), (Tom, 50)]
printArray(persons1);
Arrays.sort(persons2,new PersonComparator());
// persons2 = [null, (Lili, 29), (Jeff, 44), (Tom, 50)]
printArray(persons2);
Integer[] a = {new Integer(1), new Integer(4),
new Integer(2), new Integer(5)};
(new Sorts()).insertionsort(a); // a = [1, 2, 4, 5]
printArray(a);
Person[] persons3 = {new Person("Tom",50), new Person("Lili",29),
new Person("Jeff",44)};
(new Sorts()).insertionsort(persons3);
printArray(persons3);
// persons3 = [(Lili, 29), (Jeff, 44), (Tom, 50)]
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -