java对list分组
㈠ java集合遍历分组问题
是相同groupcode的放在同一个List中吧?
List<String> group=new ArrayList();//存储groupcode
Map(String List<option>) map=new HashMap();
for(i=0;i<list=size();i++){
List<option> ops = map.get(list.get(i).getGroupcode());
if(ops != null && ops.size != 0) {
ops.add(list.get(i));
}else {
group.add(list.get(i).getGroupcode());
map.put(list.get(i).getGroupcode(), list.get(i));
}
}
㈡ java 中 list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!
/**
* list中有150条数据,每次只拿20条数据,直到拿完所有数据
*/
List<String> urlList = new ArrayList<String>();
for (int i = 0; i < 150; i++) {
urlList.add(i+"");
}
for(int i = 0;i < urlList.size();i+=20){
List<String> param = new ArrayList<String>();//用户存放每次获取到的二十条数据
if( i + 20 < urlList.size()){
for (int j = i; j < i + 20; j++) {
param.add(urlList.get(j));
}
}else {
for (int j = i; j < urlList.size() ; j++) {
param.add(urlList.get(j));
}
}
System.out.println("每次获取到的20条数据:" + param);
}
㈢ Java 将一个list按照某个字段分组后放入到一个新的list里面
List<Map>dataList=从数据库查询到的
MapdataItem;//数据库中查询到的每条记录
Map<String,List<Map>>resultMap=newHashMap<String,List<Map>>();//最终要的结果
for(inti=0;i<dataList.size();i++){
dataItem=dataList.get(i);
if(resultMap.containsKey(dataItem.get("merohant_id"))){
resultMap.get(dataItem.get("merohant_id")).add(dataItem);
}else{
List<Map>list=newArrayList<Map>();
list.add(dataItem);
resultMap.put(dataItem.get("merohant_id"),list);
}
}
㈣ Java中如何对list集合中相同的元素分类
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
public class MyCount {
public static void main(String[] args) {
Integer[] arr={1,2,2,2,2,4,4,4,6,6,6,6,12,12,13,13,13,16,17,19,19,19,36,39};
List<Integer> numList=Arrays.asList(arr);
TreeSet<Integer> ts=new TreeSet<>(numList);
Iterator<Integer> it=ts.iterator();
for (int i=0;it.hasNext();) {
int index=++i,num=it.next(),count=0;
System.out.println("工序"+index+":"+num);
for(int j=0;j<numList.size();j++) {
if(numList.get(j)==num) {
System.out.println(" 次数:"+(++count)+":"+num);
}
}
}
}
}
㈤ 在Java中怎么把List集合中的对象分成每100条为一组
分组的话 可不可以考虑从0到99提取出来存到另一个List,然后100到199存到下一个List,依次类推呢?利用for循环应该能做到
㈥ java中List分组统计的问题
一定要用Map?
可以这样试试:
最外层还是Map来装,这样Map中一共有3个元素,它们的Key分别是1、2、3,然后Value可以放一个List对象,里面存放的值就是ID所分别对应的值。
例如你用1这个Key可以取出一个List对象,list里面包含的就是5和2.
㈦ java中怎么把一个集合分成多个集合
List list1 = new ArrayList(); list1.add("a");list1.add("b"); List list2 = Arrays.asList("c","d"); list1.addAll(list2); System.out.println(list1);
㈧ java中list集合存储了object元素,根据泛型进行分组
for(Object object : list) {
String str = object.toString();
if (StringUtils.isNumeric(str )) {
// 是数字
} else {
// 不是数字
}
}
㈨ java List怎么分组去重
使用set集合啊,set集合是不能放重复的数据的。
Set hashSet = new HashSet(list);
然后在转过来就行了,set去除重复是调用了equals方法,所以你在Sh里面要重写equals方法,自定义比较的规则,例如:
public boolean equals(Object obj) {
if(obj==null) return false;
if(obj==this) return true;
Sh sh = (Sh)obj;
if(sh.getHm()==this.getHm()){
return true;
}
return false;
}
㈩ java list分组
public static void main(String[] args) {
List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
Map<String, Object> map=new HashMap<String, Object>();
map.put("id", 1);
map.put("name", "颜色");
map.put("default", "红");
list.add(map);
Map<String, Object> map3=new HashMap<String, Object>();
map3.put("id", 2);
map3.put("name", "颜色");
map3.put("default", "绿");
list.add(map3);
Map<String, Object> map4=new HashMap<String, Object>();
map4.put("id", 3);
map4.put("name", "颜色");
map4.put("default", "蓝");
list.add(map4);
Map<String, Object> map5=new HashMap<String, Object>();
map5.put("id", 4);
map5.put("name", "尺寸");
map5.put("default", "15");
list.add(map5);
Map<String, Object> map6=new HashMap<String, Object>();
map6.put("id", 5);
map6.put("name", "尺寸");
map6.put("default", "16");
list.add(map6);
String ys="颜色:";
String cc="尺寸:";
for (Map<String, Object> map2 : list) {
if ("颜色".equals(map2.get("name"))) {
ys+=map2.get("default")+"-"+map2.get("id")+" ";
}
if ("尺寸".equals(map2.get("name"))) {
cc+=map2.get("default")+"-"+map2.get("id")+" ";
}
}
System.out.println(ys);
System.out.println(cc);
}