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

如题,比如我想获取Map中第5个键值对,该怎么做?
关键是我就想取第5个。而且我不知道K值是什么,而且我还想知道第5个的K值和V值,所以转换成List就没有K值了。
最新回答
浅挚绊离兮

2024-11-02 16:31:24

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());

}

}

}

输出结果如图所示:

梦在深巷。

2024-11-02 02:45:09

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

跌跌撞撞找不到方向

2024-11-02 18:25:42

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));

}
公司中午休息时间写的,我想你可能是需要这个,就随手写了,希望能帮到你
孤岛re∷

2024-11-02 04:55:46

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获取
万花丛中一朵菊

2024-11-02 18:37:37

可以通过遍历取出你想要的数据,也可以通过你设置的键来获取值,方法很多!明白吗!
你看看这个对你用没有帮助
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());
}
}