A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵俊杰 山林野马   /  2012-8-19 23:37  /  3083 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如,集合内有1万条数据,我想把它们分成5个子集合,一个子集合分2千条数据。
(然后我就可以做成线程,5个线程各自处理分给自己的2千条数据,用以提高效率,该怎么做?您用什么集合都可以,只要支持<String,String>这样的格式就行。)
{:soso__9970900024395533773_1:}

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
本帖最后由 赵俊杰 于 2012-8-20 00:28 编辑

寻高手指导。{:soso_e163:}
回复 使用道具 举报
睡觉前,我用这样的方式解决了。
还要用到一个List,在迭代hashmap时,同时把键值存给List。这样就可以利用List的属性特点,将List分段,小List们各自按照分给自己的键值,自己去查Hashmap。
不过,高手啊,这样是不是有点把小事情整麻烦了?
回复 使用道具 举报
  1. import java.util.HashMap;
  2. public class test
  3. {
  4.         public static void main(String args[]) throws Exception
  5.         {
  6.                
  7.                 HashMap<String,String> hm=new HashMap<String,String>();
  8.                 for(int i=65;i<91;i++)
  9.                 {
  10.                  hm.put(String.valueOf((char)i),String.valueOf(i));       
  11.                 }
  12.                 Object obj[]=hm.keySet().toArray();
  13.                 int splitData=5;   //按几个数据分
  14.                 int totalPage=obj.length/splitData;  //能分多少段
  15.                 int remainder=obj.length%splitData;  //还余多少个
  16.                 System.out.println(hm.getClass().getSimpleName()+"中共有("+obj.length+")个人.\n按每组("+splitData+")个人来分,可以分为("
  17.                                    +totalPage+")组。剩余("+remainder+")个人。");
  18.                 for(int i=0;i<obj.length-splitData;i+=splitData)
  19.                 {   
  20.                         for(int j=0;j<splitData;j++)
  21.                         {
  22.                          System.out.print(obj[i+j]);
  23.                         }
  24.                          System.out.println();
  25.                 }
  26.                 for(int i=0;i<remainder;i++)  //取出剩余的
  27.                 {   
  28.                         System.out.print((i!=remainder-1)?(String)obj[totalPage+i]:(String)obj[totalPage+i]+"(啊哦,好像剩我"+remainder+"个了,求组团啊)");
  29.                 }
  30.                        
  31.                
  32.         }
  33. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马