Java 成对获取最大值
我有很多对的形式: itemid核心 1 2 1 4 1 3 2 2 2 5 我想获得其他itemid的最大分数 结果 itemid核心 1 4 2 5Java 成对获取最大值,java,Java,我有很多对的形式: itemid核心 1 2 1 4 1 3 2 2 2 5 我想获得其他itemid的最大分数 结果 itemid核心 1 4 2 5 解决方案?您可以先按项目ID对项目列表进行排序,然后按核心对项目ID是否相等进行排序。 一旦您对列表进行了排序,它将遍历所有元素并拾取最大值以获得相等的itemid。 如果您需要实际代码,请告诉我 如果是SQL。 从表中选择itemid、maxcore 按项目I
解决方案?您可以先按项目ID对项目列表进行排序,然后按核心对项目ID是否相等进行排序。 一旦您对列表进行了排序,它将遍历所有元素并拾取最大值以获得相等的itemid。 如果您需要实际代码,请告诉我 如果是SQL。 从表中选择itemid、maxcore 按项目ID分组。使用一个项目ID作为键,maxcore作为其值,在每次迭代中,将当前值与新核心进行比较:
.这将为您提供一个按核心按升序排序的配对列表:
package com.pair.sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MainClass {
/**
* @param args
*/
public static void main(String[] args) {
List<Pair> list = new ArrayList<Pair>();
list.add(new Pair(1, 2));
list.add(new Pair(1, 4));
list.add(new Pair(1, 3));
list.add(new Pair(2, 2));
list.add(new Pair(2, 5));
Collections.sort(list);
System.out.println(list);
}
}
class Pair implements Comparable<Pair>{
public Pair(int i, int j) {
itemId = i;
core = j;
}
Integer itemId;
Integer core;
@Override
public String toString(){
return itemId + " " + core;
}
public int compareTo(Pair compare) {
return core.compareTo(compare.core);
}
}
这是在某个数据库中,还是您希望在java中实现此结果???-1,因为您没有尝试任何东西。@n99o-所以不是要求人们为您编写程序的地方。这是一个程序员提问以帮助自己编写代码的地方。@Stephen C:我不认为问题出在他身上,因为他是在不假思索地提问。但问题在于,声誉超过15000的人直接给出了一个完整的解决方案。@Vikiii-问题是两者兼而有之。如果OP没有询问,那么答案就不会公布。请注意,OP没有寻求帮助。。。他特别提出了一个解决方案。请不要通过提供封装的答案来鼓励懒惰的问题。请不要通过提供封装的答案来鼓励懒惰的问题。
1 4
2 5
package com.pair.sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MainClass {
/**
* @param args
*/
public static void main(String[] args) {
List<Pair> list = new ArrayList<Pair>();
list.add(new Pair(1, 2));
list.add(new Pair(1, 4));
list.add(new Pair(1, 3));
list.add(new Pair(2, 2));
list.add(new Pair(2, 5));
Collections.sort(list);
System.out.println(list);
}
}
class Pair implements Comparable<Pair>{
public Pair(int i, int j) {
itemId = i;
core = j;
}
Integer itemId;
Integer core;
@Override
public String toString(){
return itemId + " " + core;
}
public int compareTo(Pair compare) {
return core.compareTo(compare.core);
}
}