Map集合操作

黑马程序员---------Java基础知识:Map集合操作

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


/*
 * 题目:将Map集合内的KEY变成key+(int)vaule
 * ①将map集合的key值转变为key+(int)value,并输出转变后的map
    ②在第①步的基础上(map已经是新map了),删除map中50<key+(int)value<150的元素,并输出删除数据后的map
 * 
 * Map<Integer, String> map = new HashMap<Integer, String>();
                map.put(1, "90");
                map.put(2, "80");
                map.put(3, "70");
                map.put(4, "60");
                map.put(5, "50");
                map.put(6, "40");
                map.put(7, "30");
                map.put(8, "20");
                map.put(9, "10");
 * 
 * 分析:源集合当中,MAP的vaule是STRING类型,将将Vaule转换为int类型,并KAY =Kay+vaule
 * 删除不符合要求的数据
 * 

 * */


import java.util.*;

public class Test28 {
public static void main(String[] args) {
Map<Integer, String> map = getMap();//获取原集合
Map<Integer, String> map1 =getMap1(map);//获取Key变后的 值
getMap2(map1);

}
public static Map<Integer, String> getMap()
{
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "90");
map.put(2, "80");
map.put(3, "70");
map.put(4, "60");
map.put(5, "50");
map.put(6, "40");
map.put(7, "30");
map.put(8, "20");
map.put(9, "10");
System.out.println("初始化集合");
show(map);
return map;
}
public static Map<Integer, String> getMap1(Map<Integer, String> map)
{
    Map<Integer, String> map1 = new TreeMap<Integer, String>();//定义一个新的map
    //将MAP中内容转换
    Set<Integer> keyset =map.keySet();//将KEY取出来
    Iterator<Integer> it = keyset.iterator();//获取迭代器
    while(it.hasNext())
    {
    Integer key1 =it.next();//获取键
    String vaule1 =map.get(key1);//获取当前值  
    map1.put(key1+Integer.parseInt(vaule1),vaule1);    
    }
    System.out.println("键改变后的结果");
    show(map1);
return  map1;
}
public static void  show(Map<Integer, String> map)//传入一个MAP集合,打印出来
{
Set<Integer> key =map.keySet();
Iterator<Integer> itt =key.iterator();
while(itt.hasNext())
{
Integer key1 =itt.next();
String vaule = map.get(key1);
System.out.println("key="+key1+",vaule="+vaule);
}
}
public static void getMap2(Map<Integer, String> map1)//获取比较后的集合?????
{
Map<Integer, String> map2 =map1;
Set<Integer> key =map2.keySet();//获取键序列
Iterator<Integer> it =key.iterator();//迭代器
while(it.hasNext())//判断
{
Integer key1 =it.next();//获取键
if ((key1>50)&&(key1<150))//比较键
//map2.remove(key1);//为什么不能使用?这一句报错,没有结果,这是因为在迭代器下不能直接对集合进行删除。
it.remove();//根据键删除
}
System.out.println("判断后的结果");
show(map2);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值