1、键盘随鸡输入10个数字,分别按照倒序、从大到小排序
package test4;
import java.util.*;
/**
* 〈一句话功能简述〉<br>
* 〈两个练习〉
*
* @author abu
* @create 2019/7/24
* @since 1.0.0
*/
public class TestList11 {
public static void main(String[] args){
System.out.println("please enter 10 integers");
Scanner s = new Scanner(System.in);
List list = new ArrayList();
for (int i = 0; i < 10; i ++){
int num = s.nextInt();
list.add(i,num);
}
//随鸡输入10个整数之后,收进集合,按输入顺序排列
System.out.println(list);
//倒序排列
Collections.reverse(list);
System.out.println(list);
//从大到小排列
Collections.sort(list, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2){
if(o1 > o2){
return -1;
}else if(o1 == o2){
return 0;
}else{
return 1;
}
}
});
for(Object num : list){
System.out.println(num);
}
}
}
2、将学生的姓名和成绩录入map,输出成绩前三名的学生名字
①第一种方法输入信息到map(很天真)
package test4;
import java.util.*;
/**
* 〈一句话功能简述〉<br>
* 〈习题2学生名字和成绩录入Map,并按分数显示成绩前三名学员的名字〉
*
* @author abu
* @create 2019/7/25
* @since 1.0.0
*/
public class TestList12 {
public static void main(String[] args){
List list1 = new ArrayList();
List list2 = new ArrayList();
Scanner s = new Scanner(System.in);
System.out.println("请输入姓名");
for(int i = 0; i < 4; i ++){
String name = s.nextLine();
list1.add(i,name);
}
System.out.println(list1);
System.out.println("请输入成绩");
for(int j = 0; j < 4; j ++){
Scanner c = new Scanner(System.in);
int score = c.nextInt();
list2.add(j,score);
}
System.out.println(list1);
Map map = new HashMap();
for(int i = 0; i < 4; i ++){
map.put(list1.get(i), list2.get(i));
}
System.out.println(map);
}
}
②改进版信息输入map并输出所要求的信息
package test4;
import java.util.*;
/**
* 〈一句话功能简述〉<br>
* 〈TestList12的另一种写法〉
*
* @author abu
* @create 2019/7/25
* @since 1.0.0
*/
public class TestList122 {
public static void main(String[] args){
List list1 = new ArrayList();
List list2 = new ArrayList();
//Scanner s = new Scanner(System.in);
System.out.println("请输入姓名和成绩");
for(int i = 0; i < 4; i ++){
Scanner s = new Scanner(System.in);
String name = s.nextLine();
list1.add(i,name);
for (int j = 0; j < 1; j ++){
Scanner c = new Scanner(System.in);
int score = c.nextInt();
list2.add(i,score);
}
}
System.out.println(list1);
System.out.println(list2);
//将姓名和成绩填入map
Map map = new HashMap();
for(int i = 0; i < 4; i ++){
map.put(list1.get(i), list2.get(i));
}
System.out.println(map);
//输出成绩前三名的名字
List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String,Integer>>(){
public int compare(Map.Entry<String,Integer> o1, Map.Entry<String,Integer> o2){
return (o2.getValue() - o1.getValue());
}
});
for(Object obj : list){
Map.Entry entry = (Map.Entry)obj;
//System.out.println(entry);
System.out.println(entry.getKey());
}
}
}
集合的习题写完啦~
进入day14嘻嘻~