java吧 关注:1,295,393贴子:12,829,441
  • 5回复贴,共1

Map的keySet()用法

只看楼主收藏回复

RT


1楼2013-04-09 10:24回复
    获得Map的key以后
    得到的是一个set的集合
    ["a","b","c"]


    2楼2013-04-09 10:24
    回复
      2026-01-21 23:17:58
      广告
      不感兴趣
      开通SVIP免广告
      ublic class test6 {
      public static void main(String[] args) {
      Map<String, String> map = new HashMap<String, String>();
      map.put("a", null);
      map.put("b", "马先生");
      map.put("c", "马先生");
      map.put("1", "马先生");
      map.put("2", "马先生");
      map.put("3", "马先生");
      map.put("4", "马先生");
      Set i = map.keySet();
      //set集合应该为[3, 2, 1, b, c, 4, a]
      System.out.println(i);
      int len = i.size(); //i 为7
      //获得set的集合长度 随机该长度下表的值
      System.out.println(len);
      Random random = new Random();
      int key =random.nextInt(len); // key 为0到7之间任意的随机数
      ?????????
      如何获得set集合中 随机出来的那个下标的值
      通过得到的随机下标值如何得到 "a " 或者 "b"
      ??????????
      }


      3楼2013-04-09 10:30
      回复
        好吧
        我还是来结贴吧
        答案是这样的!!


        5楼2013-04-09 16:28
        回复
          public class test6 {
          public static void main(String[] args) {
          Map<String, String> map = new HashMap<String, String>();
          map.put("a", null);
          map.put("b", "马先生");
          map.put("c", "马先生");
          map.put("1", "马先生");
          map.put("2", "马先生");
          map.put("3", "马先生");
          map.put("4", "马先生");
          Set<Entry<String, String>> set = map.entrySet();
          Object[] entryArray = set.toArray();
          Random random = new Random();
          int key = random.nextInt(set.size());
          Map.Entry entry=(Map.Entry)entryArray[key];
          System.out.println(entry.getKey());
          }
          }


          6楼2013-04-09 16:29
          回复