java 怎么样获取Map中第几个键值对
关键是我就想取第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());
}
}
}
输出结果如图所示:
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
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));
}
公司中午休息时间写的,我想你可能是需要这个,就随手写了,希望能帮到你
.keySet()
.stream()
.sorted(Comparator.comparing(Date::getTime).reversed())
.collect(Collectors.toList());
map.get(dateList.get(4));
可以对map中的键进行排序,将键存在一个List中,然后根据map.getKey()获取值,key通过之前存储的List获取
你看看这个对你用没有帮助
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());
}
}