对其中某元素进行排序

 
  
 1 import java.util.ArrayList;
 2 import java.util.Collections;
 3 import java.util.Comparator;
 4 import java.util.List;
 5 
 6 public class test {
 7 
 8     /**
 9      * @param args
10      * @return
11      */
12 
13     public static void main(String[] args) {
14 
15         TuanInfo tuan1 = new TuanInfo();
16         tuan1.setAaa(2);
17         tuan1.setBuyer(2);
18         TuanInfo tuan2 = new TuanInfo();
19         tuan2.setAaa(1);
20         tuan2.setBuyer(1);
21         TuanInfo tuan3 = new TuanInfo();
22         tuan3.setAaa(3);
23         tuan3.setBuyer(3);
24         List<TuanInfo> list = new ArrayList<TuanInfo>();
25         list.add(tuan3);
26         list.add(tuan2);
27         list.add(tuan1);
28         for (TuanInfo t : list) {
29             System.out.println(t.getBuyer() + " " + t.getAaa());
30         }
31         Collections.sort(list, new BuyerCompare());
32         for (TuanInfo t : list) {
33             System.out.println(t.getBuyer() + " " + t.getAaa());
34         }
35 
36     }
37 }
38 
39 class TuanInfo {
40     int buyer;
41     int aaa;
42 
43     public int getBuyer() {
44         return buyer;
45     }
46 
47     public void setBuyer(int buyer) {
48         this.buyer = buyer;
49     }
50 
51     public int getAaa() {
52         return aaa;
53     }
54 
55     public void setAaa(int aaa) {
56         this.aaa = aaa;
57     }
58 
59 }
60 
61 class BuyerCompare implements Comparator<TuanInfo> {
62     public int compare(TuanInfo o1, TuanInfo o2) {
63         if (o1.getBuyer() > o2.getBuyer())
64             return -1;
65         else
66             return 1;
67     }
68 }
 
  

 

 

转载于:https://www.cnblogs.com/icoding/archive/2012/07/11/2586307.html

Java中,二维数组是由一维数组组成的数组,因此对于二维数组的排序,我们通常会先确定一个排序的标准,然后根据这个标准对数组进行排序。例如,如果你想要根据二维数组中某个特定位置的元素进行排序,你可以先提取出这些元素,然后使用一个排序算法对这些元素进行排序,最后根据排序结果调整原数组的位置。 Java中可以使用Arrays类的sort方法对一维数组进行排序,但对二维数组并没有直接的方法。因此,如果需要根据二维数组的某个项进行排序,你需要自定义排序逻辑。下面是一个简单的例子,假设我们要根据二维数组中每个子数组的第二个元素进行排序: ```java import java.util.Arrays; import java.util.Comparator; public class TwoDimArraySort { public static void main(String[] args) { // 假设有一个二维数组 int[][] array = { {3, 2, 5}, {1, 4, 6}, {7, 8, 9} }; // 调用自定义的排序方法 sort2DArrayBySecondElement(array); // 打印排序后的二维数组 for (int[] subArray : array) { System.out.println(Arrays.toString(subArray)); } } public static void sort2DArrayBySecondElement(int[][] array) { Arrays.sort(array, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return Integer.compare(o1[1], o2[1]); // 根据每个子数组的第二个元素进行比较 } }); } } ``` 在这个例子中,我们首先定义了一个二维数组。然后,我们定义了一个名为`sort2DArrayBySecondElement`的方法,该方法使用Java的`Arrays.sort()`方法和一个匿名`Comparator`类来实现根据二维数组中每个子数组的第二个元素排序。最后,我们打印出排序后的数组以验证结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值