Java List中取出前100的数据并且删除掉
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java List中取出前100的数据并且删除掉相关的知识,希望对你有一定的参考价值。
java List中取出前100的数据并且删除掉,遍历list集合,把数据取出存到新集合,再删除掉,如下方法:
package com.test;import java.util.ArrayList;
import java.util.List;
public class TestA
public static void main(String[] args)
//定义集合
List<String> list=new ArrayList<String>();
//给集合存150个值
for(int x=1;x<=101;x++)
list.add("a"+x);
System.out.println("原集合内容:"+list);
List<String> list2=new ArrayList<String>();
//循环获取和移除掉100值
for(int x=0;x<1;x++)
//获取
String a=list.get(x);
list2.add(a);
//移除
list.remove(a);
//list2集合够100则跳出循环
if(list2.size()==100)
break;
//移除掉list集合一个元素,长度减一,标量应该不变所以减一,后面会x++
x--;
System.out.println("取出的100值:"+list2);
//输出剩下的值
System.out.println("剩下的list值:"+list);
运行结果:
原集合内容:[a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64, a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77, a78, a79, a80, a81, a82, a83, a84, a85, a86, a87, a88, a89, a90, a91, a92, a93, a94, a95, a96, a97, a98, a99, a100, a101]
取出的100值:[a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64, a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77, a78, a79, a80, a81, a82, a83, a84, a85, a86, a87, a88, a89, a90, a91, a92, a93, a94, a95, a96, a97, a98, a99, a100]
剩下的list值:[a101] 参考技术A package com.cn.qy.util;
import java.util.ArrayList;
import java.util.List;
public class aa
@SuppressWarnings("unchecked")
public static void main(String args[])
@SuppressWarnings("rawtypes")
List <String> list = new ArrayList<String>();
for(int i=0;i<200;i++)
list.add(i+"");
list = list.subList(100, list.size());
for(String s :list)
System.out.println("删除后的数据:"+s);
根据问题,集合list中取出前100条删除掉,即是只保留 第101条往后的数据,List 底层是数组,可以采用截取的方式来获取,如果一个个remove的话几百几千条数据还行,如果百万级数据很耗资源的,所以这里采用了截取集合的方式
java List中取出前100的数据并且删除掉,遍历list集合,把数据取出存到新集合,再删除掉,如下方法:
package com.test;
import java.util.ArrayList;
import java.util.List;
public class TestA
public static void main(String[] args)
//定义集合
List<String> list=new ArrayList<String>();
//给集合存150个值
for(int x=1;x<=101;x++)
list.add("a"+x);
System.out.println("原集合内容:"+list);
List<String> list2=new ArrayList<String>();
//循环获取和移除掉100值
for(int x=0;x<1;x++)
//获取
String a=list.get(x);
list2.add(a);
//移除
list.remove(a);
//list2集合够100则跳出循环
if(list2.size()==100)
break;
//移除掉list集合一个元素,长度减一,标量应该不变所以减一,后面会x++
x--;
System.out.println("取出的100值:"+list2);
//输出剩下的值
System.out.println("剩下的list值:"+list);
参考技术C import java.util.ArrayList;import java.util.List;
public class test
public static void main(String[] args)
List list=new ArrayList();
List list1=new ArrayList();
int i=0;
for(i=0;i<102;i++)
list.add(i);
System.out.println(list.size());
for(i=0;i<100;i++)
list1.add(i);
for(i=0;i<list.size();i++)
for(int j=0;j<list1.size();j++)
if(list.get(i)==list1.get(j))
list.remove(i);
for(i=0;i<list.size();i++)
System.out.println("--------"+list.get(i));
输出结果:
102
--------100
--------101 参考技术D List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 300; i++)
list.add(i);
List<Integer> beforeList = new ArrayList<Integer>();
List<Integer> afterList = new ArrayList<Integer>();
if (list != null && list.size() > 100)
beforeList.addAll(list.subList(0, 100));
afterList.addAll(list.subList(100, list.size()));
System.out.println(list);
System.out.println(beforeList);
System.out.println(afterList);
以上是关于Java List中取出前100的数据并且删除掉的主要内容,如果未能解决你的问题,请参考以下文章
java 从list集合里取出一个元素,并且从集合里删除,jdk有自带方法吗
实现java 中 list集合中有几十万条数据,每100条为一组取出
实现java 中 list集合中有几十万条数据,每100条为一组取出