编程开发 购物 网址 游戏 小说 歌词 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
移动开发 架构设计 编程语言 互联网 开发经验 Web前端 开发总结
开发杂谈 系统运维 研发管理 数据库 云 计 算 Java开发
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
  编程开发知识库 -> Java开发 -> java集合 -> 正文阅读
 

[Java开发]java集合[第1页]

java集合
Map根据value来获得key,除了遍历没有别的方法了吗?
List中如果两个元素相同,用List.indexOf(value)方法只能得到一个值;

回复:
源码可以说明一切:
1.map并没有根据value获得key的方法,因为一个key对应一个value,一个value就不好说了。如果非要这么取,只能自己写方法遍历。
2.List.indexOf(value)得到的并不是值,而是在list中的位置,看下源码便知:

 public int indexOf(Object o) {
if (o == null) {
    for (int i = 0; i < size; i++)
if (elementData[i]==null)
    return i;
} else {
    for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
    return i;
}
return -1;
    }


回复:
为什么要根据value来获得key呢? 好奇怪的需求, 不影响其它地方的话可以将现在的value当做key重新设计一下

回复:
 还可以用循环迭代

回复:
表示lz的这个问题很奇怪,不过,我目前知道的通过Value得到key只能遍历了

回复:
这个有点困难,一般都是根据键获取值,

回复:
可以使用guava
可以通过key得到value,也可以通过value得到key; 
private static void testBitMap() {
//双向map
BiMap<Integer,String> biMap=HashBiMap.create();
biMap.put(1,"hello");
biMap.put(2,"helloa");
biMap.put(3,"world");
biMap.put(4,"worldb");
biMap.put(5,"my");
biMap.put(6,"myc");
int value= biMap.inverse().get("my");
System.out.println("my --"+value);
}

回复:
遍历的话,还有种迭代遍历器
 //访问Map 集合的方式
       Object[] PetArray=pets.entrySet().toArray();
        for(int i=0;i<PetArray.length;i++){
     Map.Entry Pet=(Map.Entry)PetArray[i];
     System.out.println(Pet.getKey());
     ((Pet)Pet.getValue()).speak();
     }
        //访问Map集合的Iterator迭代遍历器
        System.out.println("#################");
        Iterator itPet=pets.entrySet().iterator();       
        while(itPet.hasNext()){
           Map.Entry pet=(Map.Entry)itPet.next();
             System.out.println("宠物编号:"+pet.getKey());
            ((Pet)pet.getValue()).speak();
        }   

回复:
  Java开发 最新文章
ORA-54013:?不允许对虚拟列执行?INSERT?操作
bootstrap 日期格式控件插入之后为什么不显
关于mybatis分页插件的使用问题
关于IEDA的Tomcat重启时线程出错,需要重启
chrome 55 + chrome2.27 + selenium 2.44 运
SSM项目在MyEclipse中一直有个红色的感叹号
javafx求解答
菜鸟求助,不理解所得出的结果,请前辈能否
Spring 构造注入出错怎么解决
idea 启动启动时 报一大堆红色错误
上一篇文章      下一篇文章      查看所有文章
加:2016-08-30 09:01:06  更:2016-08-30 09:02:18 
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年9日历
2018-9-21 20:24:59
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程开发知识库