package j1108;
import java.util.ArrayList;
import java.util.Iterator;
public class ArraylistTest {
public static void main(String[] args) {
ArrayList array = new ArrayList();
System.out.println("打印ArrayList中的所有元素:");//添加100個不同的元素
for(int i=1;i<=100;i++){
array.add(i);
}
Iterator it = array.iterator();//Iterator 迭代數組
while(it.hasNext()){
System.out.println(it.next()); }
try {
System.out.println("調用get()讀取索引位置爲50:");
System.out.println(array.get(50));
System.out.println("調用get()讀取索引位置爲102:");
System.out.println(array.get(102));
}
catch (IndexOutOfBoundsException e) {
System.out.println("數據越界");
}
}
}
運行結果:
選擇某種Map集合保存學號從1到15的學員的學號(鍵)和姓名(值),學號用字符串表示,輸入的時候要以學號亂序的方式存入Map集合,然後按照學號從大到小的順序將Map集合中的元素輸出打印。需要自定義Map集合的比較器Comparator,因字符串對象的大小比較是按字典序,而非對應的數值。
要求:必須使用Map集合的內部排序機制進行排序,不能在外部排序。
package j1108;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class MapTest {
public static void main(String[] args) {
TreeMap map=new TreeMap(new MyCompatator());
map.put("06", "You"); //此處如果輸入6則後面無法實現排序
map.put("15", "May");
map.put("12", "Ashin");
map.put("01", "It");
map.put("03", "Dream");
map.put("05", "Wake");
map.put("08", "Ming");
map.put("04", "Up");
map.put("09", "Masa");
map.put("11", "Monster");
map.put("13", "Is");
map.put("14", "Day");
map.put("02", "On");
map.put("07", "And");
map.put("10", "Stone");
Set keySet=map.keySet();//獲取鍵的集合
Iterator it=keySet.iterator();//Interator對象
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);//獲取的鍵找到對應的元素
System.out.println(key+":"+value);
}
}
}
//自定義比較器
class MyCompatator implements Comparator{
public int compare(Object obj1, Object obj2){
String id1=(String) obj1;
String id2=(String) obj2;
return id2.compareTo(id1);
}
}