java 怎么样获取Map中第几个键值对

如题,比如我想获取Map中第5个键值对,该怎么做?关键是我就想取第5个。而且我不知道K值是什么,而且我还想知道第5个的K值和V值,所以转换成List就没有K值了。... 如题,比如我想获取Map中第5个键值对,该怎么做?
关键是我就想取第5个。而且我不知道K值是什么,而且我还想知道第5个的K值和V值,所以转换成List就没有K值了。
展开
 我来答
大野瘦子
高粉答主

推荐于2019-10-19 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:32万
展开全部

public static void main(String[] args) {

Map<String, String> map = new HashMap<String, String>();

map.put("key1", "value1");

map.put("key2", "value2");

map.put("key3", "value3");

Set<String> keySet = map.keySet();

int i = map.size()-1;

Map<Integer, String> mapKey = new HashMap<Integer, String>();

Map<Integer, String> mapValue = new HashMap<Integer, String>();

for(java.util.Map.Entry<String, String> entry : map.entrySet()) {

//将原来MAP的VALUE放入新的MAP的VALUE里面

mapKey.put(i, entry.getValue());

//将原来MAP的KEY放入新的MAP的VALUE 里面

mapValue.put(i, entry.getKey());

i--;

}
//打印KEY值

System.out.println(mapKey.get(2));
//打印VALUE值

System.out.println(mapValue.get(0));

}

扩展资料:

java键值对的使用

Map集合没有继承Collection接口,但是其提供了key到value的映射。每一个key不能有相同,每个key只能映射一个value值。

下面通过一个程序来说明键值对的使用,下面是一个基本的键值对应用程序:

package Test;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class KeyValue {

public static void main(String[] args) {

Map <String,String> map=new HashMap<>();

map.put("01", "张三");

map.put("02", "王五");

Set<String> set=map.keySet();

Iterator <String> it=set.iterator();

System.out.println("key中集合元素:");

while(it.hasNext()){

System.out.println(it.next());

}

Collection <String> coll=map.values();

it=coll.iterator();

System.out.println("value中集合元素:");

while(it.hasNext()){

System.out.println(it.next());

}

}

}

输出结果如图所示:

帐号已注销
2021-06-28 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:158万
展开全部

public static void main(String[] args) {

Map<String, String> map = new HashMap<String, String>();

map.put("key1", "value1");

Set<String> keySet = map.keySet();

int i = map.size()-1;

Map<Integer, String> mapKey = new HashMap<Integer, String>();

//将原来MAP的VALUE放入新的MAP的VALUE里面

mapKey.put(i, entry.getValue());

i--;

//打印KEY值

System.out.println(mapKey.get(2));

//打印VALUE值

System.out.println(mapValue.get(0));

}

面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。

每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

以上内容参考:百度百科-Java

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奔放的威严
2013-01-16 · TA获得超过219个赞
知道答主
回答量:137
采纳率:0%
帮助的人:70.5万
展开全部
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();

map.put("key1", "value1");

map.put("key2", "value2");

map.put("key3", "value3");

Set<String> keySet = map.keySet();

int i = map.size()-1;

Map<Integer, String> mapKey = new HashMap<Integer, String>();
Map<Integer, String> mapValue = new HashMap<Integer, String>();
for(java.util.Map.Entry<String, String> entry : map.entrySet()) {
//将原来MAP的VALUE放入新的MAP的VALUE里面
mapKey.put(i, entry.getValue());
//将原来MAP的KEY放入新的MAP的VALUE 里面
mapValue.put(i, entry.getKey());
i--;

}
//打印KEY值

System.out.println(mapKey.get(2));
//打印VALUE值

System.out.println(mapValue.get(0));

}
公司中午休息时间写的,我想你可能是需要这个,就随手写了,希望能帮到你
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小逗比7号
2017-09-06
知道答主
回答量:1
采纳率:0%
帮助的人:939
展开全部
List<Date> dateList = map
.keySet()
.stream()
.sorted(Comparator.comparing(Date::getTime).reversed())
.collect(Collectors.toList());
map.get(dateList.get(4));

可以对map中的键进行排序,将键存在一个List中,然后根据map.getKey()获取值,key通过之前存储的List获取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南土民0V
2013-01-16 · TA获得超过275个赞
知道小有建树答主
回答量:718
采纳率:46%
帮助的人:137万
展开全部
可以通过遍历取出你想要的数据,也可以通过你设置的键来获取值,方法很多!明白吗!
你看看这个对你用没有帮助
public static void work(Map<String, Student> map) {
Collection<Student> c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式