Store output array in different array and sort the array values
我想知道如何将输出存储在数组中,然后对其值进行排序。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public static void main(String[] args) { int i; float[] npoints = new float[10]; float[] points = new float[10]; points[0]=(float) 0.3; points[1]=(float) 0.2; points[2]=(float) 0.4; points[3]=(float) 0.5; points[4]=(float) 0.6; points[5]=(float) 0.0123; for(i=0;i<6;i++) { if(points[i]!=0.0) { npoints[i]=points[i]; System.out.println(i+":"+points[i]); } } System.out.println(npoints[i]); } |
}
输出:
0:0.3
1:0.2
2 0.4<BR/>3:0.5
4:0.6
5:0.0123
0<BR/>生成成功(总时间:0秒)
使用
1 |
请注意,此方法对数组进行了就地排序,这意味着它将修改作为参数传递的数组。
如果要复制数组,可以使用
1 2 3 4 5 6 7 8 9 10 11 12 | float[] points = new float[10]; points[0]=(float) 0.3; points[1]=(float) 0.2; points[2]=(float) 0.4; points[3]=(float) 0.5; points[4]=(float) 0.6; points[5]=(float) 0.0123; float[] npoints = Arrays.copyOf(points, points.length); Arrays.sort(npoints); System.out.println(Arrays.toString(npoints)); // [0.0, 0.0, 0.0, 0.0, 0.0123, 0.2, 0.3, 0.4, 0.5, 0.6] |
演示。
使用
甚至可以为自定义排序元素同时传递自定义
1 2 3 4 5 6 7 8 9 10 11 12 13 | ArrayList<Float> arr = new ArrayList<Float>(); for(i=0;i<6;i++) { if(points[i]!=0.0) { npoints[i]=points[i]; System.out.println(i+":"+points[i]); arr.add(npoints[i]); } } |
现在使用