「java集合分组方法」JAVA分组
本篇文章给大家谈谈java集合分组方法,以及JAVA分组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java list 分组
- 2、java List怎么分组去重
- 3、在Java中怎么把List集合中的对象分成每100条为一组
- 4、java list分组
- 5、Java 对数据分组
- 6、java集合遍历分组问题
java list 分组
public static String[] compareArray(String[] strs_a,String[] strs_b){
if(strs_a == null) return strs_b;
if(strs_b == null) return strs_a;
if(Arrays.equals(strs_a, strs_b)){
return null;
}
String tempStr = "";
if(strs_a[0].equals(strs_b[0])){
for(int i=0;istrs_a.length;i++){
if(i!=0){
tempStr+=strs_a[i]+",";
}
}
for(int i=0;istrs_b.length;i++){
if(i!=0){
tempStr+=strs_b[i]+",";
}
}
if(tempStr.endsWith(",")) tempStr = tempStr.substring(0, tempStr.length() - 1);
String[] tempArr = tempStr.split(",");
Arrays.sort(tempArr);
tempStr = "";
for(String str:tempArr){
tempStr += str + ",";
}
if(tempStr.endsWith(",")) tempStr = tempStr.substring(0, tempStr.length() - 1);
return new String[]{strs_a[0],tempStr};
}else{
return strs_b;
}
}
public static ListString[] getSortResult(ListString[] list){
ListString[] resultList = new ArrayListString[]();
if(list!=null list.size()0){
for(int i=0;ilist.size();i++){
String[] strs_i = list.get(i);
for(int j=0;i=jjlist.size();j++){
String[] strs_j=list.get(j);
String[] strs_x = compareArray(strs_i, strs_j);
if(strs_x != null){
if(!resultList.contains(strs_x)){
resultList.add(strs_x);
}
}
}
}
}
return resultList;
}
public static void main(String[] args) {
ListString[] list = new ArrayListString[]();
list.add(new String[]{"1","1"});
list.add(new String[]{"1","2"});
list.add(new String[]{"2","1"});
ListString[] rlist = getSortResult(list);
for(String[] items:rlist){
System.out.println();
for(int i=0;iitems.length;i++){
if(i!=0){
System.out.print(items[0] + " " + items[i]);
}
}
}
}
稍微写了下:那几个方法拷到一个类里就可以了,验证如下:
输入:list
list.add(new String[]{"1","1"});
list.add(new String[]{"1","2"});
list.add(new String[]{"2","1"});
输出结果为:
1 1,2
2 1
不知满足你的要求不?不满足接着追问
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集合中的对象分成每100条为一组
分组的话 可不可以考虑从0到99提取出来存到另一个List,然后100到199存到下一个List,依次类推呢?利用for循环应该能做到
java list分组
public static void main(String[] args) {
ListMapString, Object list=new ArrayListMapString,Object();
MapString, Object map=new HashMapString, Object();
map.put("id", 1);
map.put("name", "颜色");
map.put("default", "红");
list.add(map);
MapString, Object map3=new HashMapString, Object();
map3.put("id", 2);
map3.put("name", "颜色");
map3.put("default", "绿");
list.add(map3);
MapString, Object map4=new HashMapString, Object();
map4.put("id", 3);
map4.put("name", "颜色");
map4.put("default", "蓝");
list.add(map4);
MapString, Object map5=new HashMapString, Object();
map5.put("id", 4);
map5.put("name", "尺寸");
map5.put("default", "15");
list.add(map5);
MapString, Object map6=new HashMapString, Object();
map6.put("id", 5);
map6.put("name", "尺寸");
map6.put("default", "16");
list.add(map6);
String ys="颜色:";
String cc="尺寸:";
for (MapString, 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);
}
Java 对数据分组
把从数据库读出来的ResultSet 传入这个方法
public static MapLong, ListLong orgnaizeData(ResultSet rs) {
MapLong, ListLong result = null;
try {
if (rs.getRow() 0) {
result = new HashMapLong, ListLong();
while (rs.next()) {
Long key = rs.getLong(1);
Long value = rs.getLong(2);
if (result.containsKey(key)) {
result.get(key).add(value);
} else {
ListLong valueList = new ArrayListLong();
valueList.add(value);
result.put(key, valueList);
}
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
java集合遍历分组问题
是相同groupcode的放在同一个List中吧?
ListString group=new ArrayList();//存储groupcode
Map(String Listoption) map=new HashMap();
for(i=0;ilist=size();i++){
Listoption 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集合分组方法和JAVA分组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。