1.ArrayList,Iterator,try-catch
import java.util.ArrayList;
import java.util.Iterator;
public class CollecteTest {
public static void main(String[] args) {
ArrayList array = new ArrayList();//创建集合,初始容量缺省为10
System.out.println("打印ArrayList中的所有元素:");//添加100个不同的元素
for(int i=1;i<=100;i++){
array.add(i); //向集合中添加元素
}
Iterator it = array.iterator();//Iterator 迭代数组
while(it.hasNext()){ //使用hasnext()检查序列中是否还有元素
System.out.println(it.next()); } //使用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("数据越界啦");
}
}
}
2.选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Map集合的比较器Comparator,因字符串对象的大小比较是按字典序,而非对应的数值。
要求:必须使用Map集合的内部排序机制进行排序,不能在外部排序。
import java.util.Comparator; import java.util.Iterator; import java.util.TreeMap; public class Map { public static void main(String[] args) { TreeMap map=new TreeMap(new myComparator()); map.put("2", "张三"); map.put("1", "李四"); map.put("3", "王五"); map.put("4", "王四"); map.put("5", "王一"); map.put("6", "王六"); map.put("8", "王七"); map.put("7","王八"); map.put("9", "张一"); map.put("10", "王十"); map.put("13", "张八"); map.put("12", "王十"); map.put("11", "李一"); map.put("14", "李十"); map.put("15", "王四"); Iterator it=map.keySet().iterator(); while(it.hasNext()) { Object key=it.next(); System.out.println(key+" : "+map.get(key)); } } }
import java.util.Comparator; class myComparator implements Comparator{ public int compare(Object o1, Object o2) { return Integer.parseInt((String)o2)-Integer.parseInt((String)o1); } }