`
jackroomage
  • 浏览: 1218007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

求一个Map中最大的value值,同时列出键,值

阅读更多

问题:求一个Map中最大的value值,同时列出键,值;?

 

方法1、

public static void main(String[] args){
  Map map=new HashMap();
  map.put("d", 761);
  map.put("g", 7);
  map.put("a", 761);
  map.put("c", 34);
  
  int value=0;
     String maxKey = null;
     List list=new ArrayList();
    
  Iterator ite=map.entrySet().iterator();
  while(ite.hasNext()){
           Map.Entry entry =(Map.Entry)ite.next();
            value = Integer.parseInt(entry.getValue().toString());
            list.add(entry.getValue());
            Collections.sort(list);
           
             if(value == Integer.parseInt(list.get(list.size()-1).toString())){
                maxKey = entry.getKey().toString();
                System.out.println(maxKey+"/"+value);
             }
     }
 }
}

//          答案:
//          d/761
//          a/761

 

 

 

方法2、

 

public static void main(String[] args) {
  Map map=new HashMap();
  map.put("d", 761);
  map.put("g", 7);
  map.put("a", 761);
  map.put("c", 34);
  
  Set set=map.keySet();
  Iterator it=set.iterator();
  int max=0;
  while(it.hasNext()){
   String key=(String)it.next();
   int init=(Integer)map.get(key);
   if(max<(Integer)map.get(key)){
    max=(Integer)map.get(key);
   }
  }
  List<String> list=test(map,max);
  for(String s:list){
   System.out.print(s+"/");
   System.out.println(max);
  }
 }

 private static List test(Map map, Object o) {
  List list=new ArrayList();
  Set set=map.keySet();
  Iterator it=set.iterator();
  while(it.hasNext()){
   String key=(String)it.next();
   if(o.equals(map.get(key))){
    list.add(key);
    }
   }
  return list;
 }
}


//          答案:
//          d/761
//          a/761

分享到:
评论
2 楼 hustkeai 2016-10-09  
第一个方法是不对的
1 楼 xhgrid 2011-10-25  
读过,比较妙!

相关推荐

    java操作hadoop之mapreduce计算整数的最大值和最小值实战源码

    在这个例子中,输入可能是一个整数序列,我们可以通过读取每一行,将每个整数作为键(Key),值(Value)可以设置为1,表示这个数字出现了一次。 3. **编写Reducer类**:Reducer类接收Mapper的输出,聚合相同键的值...

    Map集合笔记

    `entrySet`方法返回一个包含Map中所有映射关系的`Set`视图,每个映射关系是一个`Map.Entry`对象,该对象包含键和值。 示例代码如下: ```java public static void method_3(Map, String&gt; map) { map.put(8, ...

    map效果

    2. **键值对**:Map中的每个元素都是一个键值对,键是唯一的,用于查找对应的值。键可以是任何类型,但必须能转换为哈希值,而值可以是任意类型。 3. **操作方法**:包括`put(key, value)`用于插入或更新键值对,`...

    用于自己学习的文件,包括map容器的适用以及JTable组件

    在"成员信息查看和调用"这个子文件中,我们可以推测可能包含了一个示例,演示如何使用Map存储成员信息(例如,用户ID作为键,用户详细信息作为值),以及如何使用JTable来展示和交互这些信息。这可能涉及到创建...

    PHP array_column() 函数 获取数组某一列的所有值,某一个列作为键值.rar

    在PHP编程中,`array_column()` 是一个非常实用的内置函数,它允许开发者从多维数组中提取出一列或多列的数据,将其作为一个新的数组返回。这个功能在处理表格数据或者处理数据库查询结果时尤其有用。本文将深入探讨...

    1_java知识点第二部分.pdf

    Map 是一种双列集合,其中每个元素都包含一个键(Key)和一个值(Value)。Map 的键是唯一的,而值则可以重复。Map 集合的键不允许重复,如果尝试将重复的键与值添加到 Map 中,原有的键对应的值将会被新值替换,...

    2024Map集合,Stream流,File文件

    - `listFiles()`:列出目录下的所有文件和子目录。 - `delete()`:删除文件或目录。 - `renameTo(File dest)`:重命名文件或移动文件。 - **注意事项**: - 处理文件操作时需注意权限问题。 - 文件操作可能会抛...

    Map-Reduce体系架构

    - **实现**: Shuffler将Mapper的输出按键值分类,并确保具有相同键的所有值都被发送给同一个Reducer。 - **作用**: 通过这种方式,可以简化Reducer的处理逻辑,提高处理效率。 #### 三、Map-Reduce的工作机制 ...

    j2ee中表单传值的所有方法

    此方法返回一个`java.util.Map`对象,其中键是参数名,对应的值是一个字符串数组,表示该参数的所有值。这提供了一种直接访问所有表单参数及其对应值的方法。与`getParameterValues()`类似,它适用于处理具有相同...

    hadoop学习笔记(六)

    - 在`map()`方法中,我们注意到`writeKey`被初始化为一个固定文本"K",这意味着所有输出的键都将是"K",这并不符合我们的需求,因为我们需要每个键对应一个特定的数值(例如,行号)来保持数据的唯一性。...

    java的基础测试题(带答案)

    题目中提到的`put(Object key, Object value)`方法是`Map`接口中的一个方法,用于向Map中添加或替换键值对。此方法接收两个参数:一个是键,另一个是与该键关联的值。如果Map中已存在相同键,则该键对应的旧值将被新...

    MapReduce:使用Hadoop Java API在Map Reduce中进行练习

    2. **`Reducer`**:这是Reduce阶段的接口,你需要实现`reduce()`方法,它接收一组相同的键和对应的值,然后将它们聚合为一个新的值。 3. **`InputFormat`**:这个接口定义了如何将输入数据分割为适合Map任务的记录...

    第三次试验-MapReduce1

    在Mapper阶段,程序读取两个输入文件A和B的内容,将每条记录(例如,日期和字母)作为一个键值对(key-value)输出。Reducer阶段则负责收集相同的键(日期),并将对应的值(字母)进行合并,同时剔除重复的记录。...

    第二次试验-HBase1

    HBase将数据存储在行和列族中,每一行都有一个唯一的行键,列族下可以有多个列限定符。 实验要求我们掌握以下几个Java API操作: 1. **列出所有表的信息**:可以使用`HBaseAdmin`类的`list()`方法获取HBase中的...

    大数据视域下Java集合应用研究.pdf

    Map中则提供了键(Key)值(Value)对的一对一的映射结构。 在Collection接口中,List和Set是两个重要的接口。List可以看做是数据结构中的线性表结构,表达一组有序的数据集合。Set集合具有无序和唯一性,经常用于...

    PHP 数组 for foreach 循环 array_column函数 返回多列(指定返回多个字段).rar

    而`array_column`函数则是一个非常实用的功能,它能从多维数组中提取出特定列的数据,这对于数据分析和处理非常有用。在这个主题中,我们将深入探讨`for`、`foreach`循环以及`array_column`函数在处理数组时的应用,...

    PHP 数组的常用函数

    还可以使用`array_map()`对数组的每个元素应用回调函数,`array_filter()`过滤数组中的元素,`array_reduce()`将数组简化为单个值,`array_column()`从多维数组中提取一列。 了解和熟练掌握这些PHP数组函数,将使你...

    AX2012_ENUS_DEVIII_03.pdf

    - 列出哪些应用对象控制不同的图形用户界面(GUI)组件。 - 修改并使用应用程序替代内核类。 - 扩展RunBase框架来创建新的批处理过程。 - 使用Args对象进行信息传输。 #### 引言 AX2012提供了一系列标准系统类,...

    Hadoop数据迁移--从Hadoop向HBase

    Map任务会读取HDFS中的文件,使用自定义的Mapper类对每一行数据进行解析,提取出关键信息,如行键(row key)、列族(column family)、列限定符(column qualifier)和值(value),并以键值对的形式输出。...

    WordCount工具

    WordCount工具是Apache Hadoop生态系统中的一个经典示例程序,用于统计文本文件中各个单词出现的频率。在大数据处理领域,Hadoop是一个广泛使用的开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的...

Global site tag (gtag.js) - Google Analytics