viranc
2017-03-31 14:53请问arraylist的元素值跟hashmap的索引值一样就能够通过元素值获取到hashmap的?
请问arraylist的元素值跟hashmap的索引值一样就能够通过元素值获取到hashmap的key跟value呢??
两个索引相同能获取??
求解答
HashMap hm = new HashMap<>(); //存储索引和扑克牌
ArrayList list = new ArrayList<>(); //存储索引
--------------------代码如下--------------
//买一副牌
String[] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String[] color = {"方片","梅花","红桃","黑桃"};
HashMap hm = new HashMap<>(); //存储索引和扑克牌
ArrayList list = new ArrayList<>(); //存储索引
int index = 0; //索引的开始值
for(String s1 : num) {
for(String s2 : color) {
hm.put(index, s2.concat(s1)); //将索引和扑克牌添加到HashMap中
list.add(index); //将索引添加到ArrayList集合中
index++;
}
}
hm.put(index, "小王");
list.add(index);
index++;
hm.put(index, "大王");
list.add(index);
//洗牌
Collections.shuffle(list);
//发牌
TreeSet gaojin = new TreeSet<>();
TreeSet longwu = new TreeSet<>();
TreeSet me = new TreeSet<>();
TreeSet dipai = new TreeSet<>();
for(int i = 0; i < list.size(); i++) {
if(i >= list.size() - 3) {
dipai.add(list.get(i)); //将list集合中的索引添加到TreeSet集合中会自动排序
}else if(i % 3 == 0) {
gaojin.add(list.get(i));
}else if(i % 3 == 1) {
longwu.add(list.get(i));
}else {
me.add(list.get(i));
}
}
//看牌
lookPoker("A", gaojin, hm);
lookPoker("B", longwu, hm);
lookPoker("C", me, hm);
lookPoker("底牌", dipai, hm);
}
public static void lookPoker(String name,TreeSet ts,HashMap hm) {
System.out.print(name + "的牌是:");
for (Integer index : ts) {
System.out.print(hm.get(index) + " ");
}
System.out.println();
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- 请问要怎么样通过新activity的返回值修改gridview中各个item的内容呢?
- android studio
- 2个回答
- map.get() 到的引用变量能不能直接修改?
- java
- 1个回答
- wicket中checkBox框中如何取出页面上选中的值
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- HashMap 的一个奇怪的问题
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 老是获取到position的最后一个值
- android
- item
- position
- 编程
- list
- 5个回答