本文目录一览:
- 1、java里老是说key,这是什么东东?
- 2、java map怎么获取key
- 3、java中Map集合如何修改里面的Key值?
- 4、java 为什么要一个key 多个value
- 5、JAVA基础 key在这里干什么?搞不懂
- 6、java怎么获取map的key
java里老是说key,这是什么东东?
容器中的key吗就是,key-value这两个东东在容器中,key就是你对象的一个命名,value就是对象本身。相当与字典一样从key找value。
java map怎么获取key
Map map = new Map();Set set = map.entrySet(); Iterator i = set.iterator(); while(i.hasNext()){ Map.Entry entry1=(Map.Entry)i.next(); System.out.println(entry1.getKey()); }这样最终输出的就是map的key值
java中Map集合如何修改里面的Key值?
修改map的key但是不改变该key对应的value值,可以使用
map.put(“key2”,map.remove(“key1”));
比如:
map.put(“key1″,”value1”);–此时:key1–value1
map.put(“key2”,map.remove(“key1”));–此时 :key2–value1
java 为什么要一个key 多个value
不知道楼主描述的具体是啥意思,
MapString,Object map=new HashMapString,Object
map.put(“key”,”value”);
对于当前key 这个值如果是多个话,hash算法不好找到对应的值,就丧失了map特性的最大效率值。
不要去从字面上去理解一个key丢应多个value,而是从效率上面去考虑
然后顺便告诉楼主,这世上没有最牛逼的算法,只有最适合的算法。什么样的场景对应什么样的思路,这就是编程思想。
JAVA基础 key在这里干什么?搞不懂
key在这里是你要查找的内容(文字列)。
举个例子
String str = “abcdef”;
String key = “cde”;
int index = 1;
这时
str.indexOf(key, index)
就返回2。因为我们从”abcdef”的index=1(b的位置)开始找,找到了”cde”,”cde”在str中的index=2。
此时,我们要继续找到话就要从 str 的 index = 2 + 3 的地方开始找。
2代表的是 “cde”在str中的index
3代表的是”cde”的长度,也就是key.length()。
java怎么获取map的key
java 获取map中所有的key和value值
java.util.Iterator 对 collection 进行迭代的迭代器。
java.util.Iterator it = map.entrySet().iterator();
while(it.hasNext()){
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
entry.getKey() //返回对应的键
entry.getValue() //返回对应的值
}
以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,
然后根据key,依次从Map中去数据,基本方式如下:
MapString,String testData = new HashMapString, String();
SetString keys = testData.keySet();
for(String key :keys){
System.out.println(key+” “+testData.get(key));
}
上述其中是第一种方法,原来一直用上述方法主要是自己有点懒,有了一种方法后就觉得够用的了,今天看源码,发现还Map接口中还有一个EntryK,V的接口,对应的还有一个 SetMap.EntryK, V entrySet();方法。
也就是说其实Map中的每条key-value数据对应着一个Entry,这样的话遍历Map其实就是要取出每个Entry,也就有了第二种遍历方法:
SetEntryString, String entries = testData.entrySet();
for (EntryString, String entry : entries) {
System.out.println(entry.getKey()+”:”+entry.getValue());
}
当少量的数据时,上述两种方法的效率是差不多的,当数据比较多时,第二种还是要比第一种快。
当然上述说的两种遍历针对的情况是遍历出key-value,如果是只想遍历key或value,大可不必用以上的方法了,Map中提供了SetK keySet()和CollectionV values()。
原创文章,作者:EFNC,如若转载,请注明出处:https://www.506064.com/n/140935.html
微信扫一扫
支付宝扫一扫