任何人都可以帮助如何获取地图中的最大值及其键。 例如下面的地图:
public class MainActivity extends AppCompatActivity {
Button btnTranslate;
String eng, arabic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnTranslate= (Button) findViewById(R.id.button_Translate);
final TextView textEng = findViewById(R.id.text1);
final TextView textArabic = findViewById(R.id.text2);
btnTranslate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
eng = textEng.getText().toString();
arabic = getResources().getString(R.string.source);
textArabic.setText(arabic);
}
});
}
}
我应该得到键值(q - > 4),因为4是最高的。
我尝试了max方法,键和值迭代器。但是,没有任何一个返回键和值。
答案 0 :(得分:3)
您可以将maxBy
用作
val map_values = Map("s" -> 3, "h" -> 2, "M" -> 1, "q"-> 4)
println(map_values.maxBy(_._2))
//(q,4)
答案 1 :(得分:1)
这对你来说是怎样的?
map.maxBy { case (key, value) => value }
答案 2 :(得分:1)
您可以按照以下方式获得所需内容:
map.filter{case (k,v) => v == map.values.max}
使用map.values.max
获取最大值,并将其插入filter
语句中,即可获得整个键值对