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);
}