LinkedHashSet<List<String>> sorted = new LinkedHashSet<List<String>>();
List<String> data1 = Database.getData(uuid);
double price = Double.valueOf(data1.get(2))
data1.add("testval");
data1.add("testval");
data1.add("100.00");
sorted.add(data1);
List<String> data2 = Database.getData(uuid);
double price = Double.valueOf(data2.get(2))
data2.add("anotherval");
data2.add("anotherval");
data2.add("50.00");
sorted.add(data2);
按降序排序的LinkedHashSet的输出。
testval testval 100.00
anotherval anotherval 50.00
对不起,如果这是混淆,我不知道如何去排序像这样。
创建一个新类来表示您的复杂对象。如果可以在对象中存储多个值,则不需要在列表中存储多个值。
public class ComplexObject {
private String description1;
private String description2;
private Double value;
public ComplexObject(String description1, String description2, Double value) {
this.description1 = description1;
this.description2 = description2;
this.value = value;
}
public void setDescription1(String description1) {
this.description1 = description1;
}
public String getDescription1() {
return description1;
}
public void setDescription2(String description2) {
this.description2 = description2;
}
public String getDescription2() {
return description2;
}
public void setValue(Double value) {
this.value = value;
}
public Double getValue() {
return value;
}
}
然后将元素添加到列表中,并使用新的自定义比较器对其进行排序:
public static void main(String[] args) {
List<ComplexObject> complexObjectList = new ArrayList<ComplexObject>();
//add elements to the list
complexObjectList.add(new ComplexObject("testval","testval",100.00d));
complexObjectList.add(new ComplexObject("anotherval","anotherval",50.00d));
//sort the list in descending order based on the value attribute of complexObject
Collections.sort(complexObjectList, new Comparator<ComplexObject>() {
public int compare(ComplexObject obj1, ComplexObject obj2) {
return obj2.getValue().compareTo(obj1.getValue()); //compares 2 Double values, -1 if less , 0 if equal, 1 if greater
}
});
//print objects from sorted list
for(ComplexObject co : complexObjectList){
System.out.println(co.getDescription1()+" "+co.getDescription2()+" "+co.getValue());
}
}
产出:
testval testval 100.0 anotherval anotherval 50.0
问题内容: 可以说我有这样的表: 我想得到的是这样的表: 发生的第一件事是基于column进行排序。 发生的第二件事是基于列的,但仅基于列中具有相同数字的行 在不使用任何数据库引擎的情况下应该如何解决此问题? 问题答案: 通常,通常使用where 是包含所有三个值的类型(例如,“ foo”,第一行的5、0)来执行此操作。 然后,您将编写一个比较在中呈现给它的两个对象的Int1值的,如果给出了明确的
问题内容: 基于python,用pandas排序降序数据框: 鉴于: df如下所示: 我想要类似的东西: 这应该相对于列“ x”和“ y”的平方值的总和来排序完整的数据框,然后给我: 升序或降序无关紧要。有没有一个简单而好的方法?我找不到解决方案。 问题答案: df.iloc[(df.x 2 + df.y 2).sort_values().index] 在如何根据字符串索引上的自定义顺序对熊猫数据
问题内容: 我想基于一个隐藏列对行进行排序。 说我有一个像这样的JTable 现在,我还有一个隐藏的column3,但我不想显示。当用户单击Column2时,应基于Column3(隐藏列)而不是基于Column2对行进行排序。 如何在JTable中实现呢? 问题答案: 您可以默认将TableRowSorter添加到JTable中,但是有RowSorter,没有什么比Darryl的Multisort
这里对排序列表也提出了类似的问题,但所使用的解决方案对分不适用于保留排序列表。 假设我有一个列表,按相反的顺序排序,键入中间元素, 我想在中间的元素上应用一系列阈值,它位于一个单独的排序列表中,比如 我试图找出第一个元素的索引小于阈值。在上面的示例中,它应该返回, 建议如何以最快的方式完成?
问题内容: 我需要对列表进行排序,然后返回带有列表中已排序项目索引的列表。例如,如果我要排序的列表是,则需要返回。 这个问题以字节为单位发布,但我认为我会在这里重新发布。 http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index- sorted-item 我的具体需求是根据对象的属性对对象列表进行排序。然后
我正在使用Python-3.6和pandas-0.24.1 我有一个熊猫数据帧: 我需要在特定索引上找到的值 错误: 在熊猫中迭代特定列的所有元素的理想方法是什么?