第一题:
需求:
map 中信息如下(姓名=武力值):{刘备=3000,关羽=5000,张飞=4800}这些元素,
1)删除张飞=4800
(线索: remove干掉张飞)
2)添加赵云=4900,诸葛亮=2500
(线索: add添加俩人)
3) 算出刘备的武力值,在剩下的武将中排第几名。
(线索: 获取刘备的武力值存入临时变量中)
(线索: 遍历集合获取所有的值,和刘备的进行比较 ,符合条件计数器自增)
4)打印出比刘备武力值高的武将姓名。
(线索: 在第三步基础上符合条件,把该键存储到一个新的集合中,遍历集合即可)
----------------------------------------------------------------------------------------------------------------------------------------------------
package zuooye;
import java.security.KeyStore.Entry;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeMap;
public class Test01 {
public static void main(String[] args) {
TreeMap<String,Integer> tm=new TreeMap<>();
tm.put("刘备", 3000);
tm.put("关羽", 5000);
tm.put("张飞", 4800);
tm.remove("张飞");
tm.put("赵云", 4900);
tm.put("诸葛亮", 2500);
List<String> list=new ArrayList<>();
int num=1;
for (String s : tm.keySet()) {
int num1=tm.get("刘备");
if (tm.get(s)>num1) {
num++;
list.add(s);
}
}
System.out.println("刘备的武力值排名是:"+num);
System.out.println("比刘备武力值高的武将姓名:");
for (String string : list) {
System.out.println(string);
}
}
}
|
|