有一个含记录的set,要将其拆分,满1000个记录就拆分出去1个,比如这个set里有3000记录,则将其拆分为3个set,在不使用循环的情况下该如何拆分?
解决方案 »
- 分享给新人,学习JAVA者进,达内培训的PDF,循序渐进,从基础到框架,一共82M!
- Hibernate Query借口的iterate方法 查询缓存的问题。
- Swing编程中关于窗口重绘的问题(困扰我好几天了,救命啊。。)
- 关于JBuilder Design生成代码的疑问
- 在线小程序 不知道那里错了
- 我的Serversocket为什么不能正常启动?
- 请高手指教..如何此程序简化代码(新手)
- 我这样配置有什么问题吗?为什么不显示程序的结果呢?
- 大家来看看我的程序错误出在哪里?
- 求教!!jni获取jframe的HWND句柄异常
- 关于子类继承父类属性,方法的问题,请帮忙解析下理解思路
- 写个程序可以加载任意,一种加载数据库文件
用iterator 和一个变量记录遍历的次数
public static void main(String[] args){
//這裡是初始值
Set set= new TreeSet();
for(int i=0;i<3500;i++){
set.add(i);
}
//這裡開始主要判斷式
ArrayList newSet = new ArrayList(set);
Set setSet = new HashSet();
int st = 0;
int size= set.size();
//這個迴圈還是免不了的。
while(size>1000){
setSet.add(new TreeSet(newSet.subList(st, st+1000)));
st+=1000;
size-=1000;
}
setSet.add(new TreeSet(newSet.subList(st, set.size())));
//以下是列印值
Iterator iter = setSet.iterator();
while(iter.hasNext()){
Set s = (Set)iter.next();
System.out.println("Start...........("+s.size()+")");
Iterator sIter= s.iterator();
while(sIter.hasNext()){
System.out.println(sIter.next());
}
System.out.println("----------END--------------");
}
}
Set set1 = new HashSet(list.subList(0,1000));
Set set2 = new HashSet(list.subList(1000,2000));
Set set3 = new HashSet(list.subList(2000,3000));