如何从android中的数组排序中跳过第0个位置值?

时间:2013-12-04 11:39:36

标签: android arrays sorting

如何从数组排序中跳过第0个位置值。

这是我的数组

ss = new String[4]; 
ss[0]= "Select"; 
ss[1]="Banana"; 
ss[2]="Apple"; 
ss[3]="Cat";

我需要跳过第0个位置(“选择”文本应该是相同的位置)并对值进行排序。

我想要输出如下。

ss[0]= "Select"; 
ss[2]="Apple"; 
ss[1]="Banana"; 
ss[3]="Cat";

我该怎么做?

2 个答案:

答案 0 :(得分:1)

  1. 将原始数组复制到大小为[原始数组大小 - 1]
  2. 的数组中
  3. 排序第二个数组
  4. 使用第二个数组
  5. 中的值填充原始数组(从索引1开始)

    试试这个

    import java.util.Arrays;
    
    public class Stack {
    
        public static void main(String[] args){
    
            String[] ss = {"Select", "Banana", "Apple", "Cat"};
    
            String[] sp = new String[ss.length - 1];
    
            System.arraycopy(ss, 1, sp, 0, sp.length);
    
            Arrays.sort(sp);
    
            for (int i = 1; i < sp.length; i++) {
                ss[i] = sp[i - 1];
            }
    
            for (String s : ss) {
                System.out.println(s);
            } 
        }
    }
    

    输出

      

    选择   苹果   香蕉   猫

    或者您可以使用Array.copyOfRange()。我不熟悉Android,因此不确定它是否支持System类。

     String[] sz = Arrays.copyOfRange(ss, 1, ss.length - 1);
    
     Arrays.sort(sz);
    
     ....
    

答案 1 :(得分:0)

这真的无法解决问题,只是躲过了,但你可以:

  

ss = 1;

如果你要循环它,它将不会回到“0”