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

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

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

}

}

}

输出结果如图所示:

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-06-28

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

本回答被网友采纳
第2个回答  2013-01-16
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));

}
公司中午休息时间写的,我想你可能是需要这个,就随手写了,希望能帮到你本回答被提问者和网友采纳
第3个回答  2017-09-06
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获取
第4个回答  2013-01-16
可以通过遍历取出你想要的数据,也可以通过你设置的键来获取值,方法很多!明白吗!
你看看这个对你用没有帮助
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());
}
}

java 怎么样获取Map中第几个键值对
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> ma...

Map遍历 key-value 的4种方法
Map遍历key-value的四种方法详解Map在Java中是至关重要的数据结构,它通过Map.Entry提供了一种访问和操作键值对的方式。Map.Entry接口定义了一个键值对,包含getKey()和getValue()方法。本文将介绍四种遍历Map中key-value的方式。方法一:通过keySet()获取key并逐个获取value代码示例:<code>...<\/code>...

JAVA,如何随机取出Map中一对键和值?
Map<Integer, String> map = new HashMap<Integer, String>();先拿所有的键:Integer[] keys = map.keySet().toArray(new Integer[0]);然後随机一个键,找出该值:Random random = new Random();Integer randomKey = keys[random.nextInt(keys.length)];String randomValue = map.get(random...

java Map 根据Map的值(value)取键(key)
(1)使用for循环遍历 (2)使用Iterator迭代器 (3)使用KeySet迭代 (4)使用EnterySet迭代 下面为以上4种方法具体实现的代码:1、使用for循环遍历 public static Object getKey(HashMap<Object,Object> map, String v) { String key = "";for (Map.Entry<String, Object> m :map.entrySet())...

遍历Map集合的5种方式总结
1. 首先,通过调用Map的keySet()方法并配合Iterator遍历,虽然基础但效率稍低,因为需要两次操作获取键值对(一次转为Iterator,一次从hashMap中取出值)。2. 第二种方式是利用Map.entrySet(),通过iterator遍历。entrySet包含了键值对,一次遍历即可获取键和值,效率较高。3. 如果你想要更简洁的遍历,可以...

java怎么获取map的key
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();entry.getKey() \/\/返回对应的键 entry.getValue() \/\/返回对应的值 } 以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下:Map<String,String> testData = new ...

java map 怎么get方法
import java.util.Map;public class MapExample { public static void main(String[] args) { \/\/ 创建一个HashMap对象 Map map = new HashMap<>();\/\/ 向Map中添加键值对 map.put("apple", 5);map.put("banana", 3);map.put("orange", 8);\/\/ 使用get方法根据键检索值 Integer apple...

java怎么判断map集合的值是多少?
map集合是以键值对的方式进行存储的,Map<key,value>,因此需要获取某个特定的key对应的value值必须获取到key,根据map.get(key)来获取对应的value;如果不知道key必须通过自己判断来获取对应value,可用map.keyset获取key的set<key>集合,然后用iterator遍历集合set获取每一个key值,并map.get(key)获取...

java中map怎么输出!
1、map.entrySet()获取键值对列表,即a=1;2、map.values()获取value集合3、map.keySet()获取key集合;并通过key获取对应value的值public static void main(String[] args) {java.util.Map<String, String> map = new HashMap<>();map.put("a", "1");map.put("b", "2");map.put("c...

java map 先后顺序
通过map中的LinkedHashMap实现就可以。HashMap<String,String> headers = new LinkedHashMap<String,String>();\/\/创建一个map headers.put("Cache-Control", "no-cache");\/\/给map赋第一个值 headers.put("Connection", "close");\/\/给map赋第二个值 Set keys1 = headers.keySet();\/\/获取所有...

相似回答