「java分组排序」javalist分组

博主:adminadmin 2023-03-18 15:44:11 427

本篇文章给大家谈谈java分组排序,以及javalist分组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中如何实现mysql中的group by order by count()功能

group by 按照字段中取出值判断是不是相同的组就可以了

order by 排序按照字母、文字、数字排序 count 将结果集放到集合看集合有多大

但是效率在多数情况下不如直接在数据库里

JAVA怎么实现这个分组需求

方法一:把这100个数字按照从小到大的顺序排序,设置两个标记为a、b,a表示取出数字的正序,b表示取出数字的倒序,然后依次取第一个(a)和最后一个(b),假设和为m,

若105m95,放入数组,a++、b++,循环;(循环1)

若m105,b=b+1,返回上一级循环,

若m95, a=a+1,则取m和a对应的数相加,假设和为n,(循环2)

若105n95,把这些数字放入数组,返回上一级循环;

若n105,b=b+1,返回上一级循环;

若n95,进入递归进入循环2;

java 时间 分组

public static void main(String[] args) {

// TODO Auto-generated method stub

String[] date = new String[] { "2014-03-01", "2014-03-03",

"2014-03-04", "2014-03-11", "2014-03-13" };

Object[] result = getResult(date);

String[] startDate = (String[]) result[0];

String[] endDate = (String[]) result[1];

int index = 0;

for (String start : startDate) {

System.out.println(String.format("%d.start:%s end:%s", index + 1,

start, endDate[index]));

index++;

}

}

public static Object[] getResult(String[] date) {

// 对数组进行排序

Arrays.sort(date);

// 声明集合保存结果;

ListString startDate = new ArrayListString();

ListString endDate = new ArrayListString();

// 声明日期格式化格式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

for (int index = 1; index  date.length; index++) {

try {

String start = date[index - 1];

String end = date[index];

// 判断是否相等或相临;相等或相临将日期分别添加至开始/结束列表,否则单独处理

if ((sdf.parse(end).getTime() - sdf.parse(start).getTime())

/ 1000 / 60 / 60 / 24 = 1) {

startDate.add(start);

endDate.add(end);

index++;

} else {

startDate.add(start);

endDate.add(start);

// 若最后的值执行到此,单独处理

if (index == date.length - 1) {

startDate.add(end);

endDate.add(end);

}

}

start = null;

end = null;

} catch (Exception e) {

System.out.println("转换日期格式异常!");

}

}

return new Object[] { startDate.toArray(new String[] {}),

endDate.toArray(new String[] {}) };

}

javastream排序后分组,还有序吗

有。

javastream排序后分组,还有序,根据字符串类型日期分组,并按照日期升序排序,分组、计数、排列。

排序又称分类。按关键字大小递增或递减的次序,对文件中的全部记录重新排列的过程。是计算机程序设计中的一种重要运算。分内部排序和外部排序两大类。

JAVA中对String数组根据字符长度进行分组并且排序

好像也很复杂...

String[] str = {"1", "2", "3", "66", "54", "513", "323", "12", "121"};

MapInteger, ListString map = new HashMapInteger, ListString(); //按照长度区分数据

SetInteger indexSet = new HashSetInteger(); //长度去重

for (String string : str) {

    int length = string.length();

    ListString list = map.get(length);

    if (list == null) {

        list = new ArrayListString();

    }

    list.add(string);

    Collections.sort(list); //默认排序

    indexSet.add(length);

    map.put(length,list);

}

ListInteger indexList = new ArrayListInteger();

for (Integer integer : indexSet){

    indexList.add(integer);

}

Collections.sort(indexList); //长度默认排序

JSONArray jsonArray = new JSONArray();

for (Integer integer : indexList){

    ListString valueList = map.get(integer);

    String[] strings = valueList.toArray(new String[valueList.size()]);

    jsonArray.add(strings);

}

System.out.println(jsonArray.toString());

java 将第二列根据第一列分组实现从小到大排序

public static void main(String[] args) {

// 初始化数据

ListListInteger table = new ArrayList();

ListInteger row1 = new ArrayList(2);

row1.add(0);

row1.add(2);

ListInteger row2 = new ArrayList(2);

row2.add(0);

row2.add(7);

ListInteger row3 = new ArrayList(2);

row3.add(0);

row3.add(1);

ListInteger row4 = new ArrayList(2);

row4.add(1);

row4.add(7);

ListInteger row5 = new ArrayList(2);

row5.add(1);

row5.add(5);

ListInteger row6 = new ArrayList(2);

row6.add(1);

row6.add(2);

ListInteger row7 = new ArrayList(2);

row7.add(1);

row7.add(4);

table.add(row1);

table.add(row2);

table.add(row3);

table.add(row4);

table.add(row5);

table.add(row6);

table.add(row7);

// 分组

MapInteger, ListListInteger groups = new HashMap(2);

for (ListInteger row : table) {

Integer firstCol = row.get(0);

ListListInteger groupItem = groups.getOrDefault(firstCol, new ArrayList());

// 添加到分组

groupItem.add(row);

groups.put(firstCol, groupItem);

}

// 分组内排序

for (ListListInteger groupItem : groups.values()) {

groupItem.sort((item1, item2) - {

return item1.get(1).compareTo(item2.get(1));

});

}

// 打印到控制台

for (Integer groupKey : groups.keySet()) {

ListListInteger groupItem = groups.get(groupKey);

for (ListInteger row : groupItem) {

for (Integer col : row) {

System.out.print(col + " ");

}

System.out.println();

}

}

}

java分组排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javalist分组、java分组排序的信息别忘了在本站进行查找喔。