2016-07-05 68 views
-3
ArrayList <ShyForeignStockHolding> aithird = new ArrayList<ShyForeignStockHolding>(); 

ShyForeignStockHolding shyfrst = new ShyForeignStockHolding (shyPurchaseSharePrice, shyCurrentSharePrice, shyNumberOfShares, shyCompanyName, shyconversionRate1); 

aithird.add(shyfrst); 

我想Currentshare Price如何对最低值的数组列表对象进行排序?

+0

shyCurrentSharePrice是浮点型变量 – user3578882

+0

您可以使用java比较器来实现你想要的。 –

+0

你能给我一些提示或示例吗? – user3578882

回答

0

排序ArrayList您可以使用对象的自定义Comparator,假设你正在使用双为shyCurrentSharePrice

List<ShyForeignStockHolding> sFSH = new ArrayList<ShyForeignStockHolding>(); 
//add Your objects 
Collections.sort(sFSH, new Comparator<ShyForeignStockHolding>() { 
    @Override public double compare(ShyForeignStockHolding ssh1, ShyForeignStockHolding ssh2) { 
     return ssh1.shyCurrentSharePrice + shh2.shyCurrentSharePrice; //descending use - for Ascending 
    } 

}); 
0

与Java 8中,您现在可以轻松创建一个Comparator(完全避免匿名类)。由于这是按升序排列,因此您可以在该比较器上调用reversed()使其降序。

Comparator<ShyForeignStockHolding> comparator = Comparator.comparing((sh -> sh.getTheVarYouWantToCompareBy())).reversed(); 
aithird.sort(comparator); 
相关问题