一个添加了若干键值对的 TreeMap 如何获取它的 前十个元素,11-20的元素?

热带鱼2020 2008-09-01 02:05:41

String abc[] = {"e","d","c","b","a","f","g","h","i","j","k",
"l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
int xyz[] = {5,4,3,2,1,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6};

Map map = new TreeMap();

for(int i=0; i<xyz.length; i++){
map.put(xyz[i], abc[i]);
}

System.out.println(map);
...全文
1695 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
the_trees 2011-05-05
  • 打赏
  • 举报
回复
我是来看答案的
热带鱼2020 2008-09-01
  • 打赏
  • 举报
回复
我插到一个方法 collection.toArray()

String abc[] = {"e","d","c","b","a","f","g","h","i","j","k",
"l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
int xyz[] = {5,4,3,2,1,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6};

Map map = new TreeMap();

for(int i=0; i<xyz.length; i++){
map.put(xyz[i], abc[i]);
}

System.out.println(map);

Collection co = map.values();
Object[] a = co.toArray();


System.out.println("0-----9");
for(int i=0; i<10; ++i)
System.out.print(a[i]);

System.out.println();
System.out.println("10----19");

for(int i=10; i<20; ++i)
System.out.print(a[i]);
System.out.println();
bengben 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liaoyi_ipanel 的回复:]
引用 2 楼 justinavril 的回复:
引用 1 楼 bao110908 的回复:
除了遍历,我想不出其他的办法 :(
[/Quote]
chinagenius_xhy 2008-09-01
  • 打赏
  • 举报
回复
获得11-20个元素的方法:
Set entries = map.entrySet();
Iterator it = null;
if (entries != null)
it = entries.iterator();

for(int k=1; it.hasNext();k++){
Map.Entry entry = (Map.Entry) it.next();
int key = (Integer) entry.getKey();
String value = entry.getValue().toString();
if(k>10)
System.out.println("key:" + key + " value:" + value);
}

获得前十只要在循环里面写上k<=10 ,sysout ,然后break就行了!

注意:TreeMap 得到的是已经排序完的数据,如果想按照put的先后顺序原样输出的话就可以这样写:
Map map = new java.util.LinkedHashMap();
热带鱼2020 2008-09-01
  • 打赏
  • 举报
回复
能不能 把这个co 转成List??
就可以用 list.get(int index) 了
liaoyi_ipanel 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justinavril 的回复:]
引用 1 楼 bao110908 的回复:
除了遍历,我想不出其他的办法 :(

[/Quote]
justinavril 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bao110908 的回复:]
除了遍历,我想不出其他的办法 :(
[/Quote]
  • 打赏
  • 举报
回复
除了遍历,我想不出其他的办法 :(

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧