Java 使用Bucket按字符串长度排序对数组进行排序

Java 使用Bucket按字符串长度排序对数组进行排序,java,Java,在java中,我尝试使用bucket sort按长度对字符串数组进行排序,但数组索引总是超出范围 String[] bucketSort = new String[MAX_NAMES + 1]; for(int i = 0; i < numNames; i++) { bucketSort[names[i].length()] += 1; } int outPos = 0; for(int i = 0; i < bucketSort.length; i++) {

在java中,我尝试使用bucket sort按长度对字符串数组进行排序,但数组索引总是超出范围

String[] bucketSort = new String[MAX_NAMES + 1];
for(int i = 0; i < numNames; i++) {
   bucketSort[names[i].length()] += 1; 
  }

  int outPos = 0;
  for(int i = 0; i < bucketSort.length; i++) {
    if(bucketSort[i].length() > 0) {
     names[outPos++] = i; 
    }
  }
String[]bucketSort=新字符串[MAX_NAMES+1];
对于(int i=0;i0){
名称[outPos++]=i;
}
}

这甚至不应该编译。您应该决定数组应该包含字符串还是整数。它们不能同时包含两个。这甚至不应该编译。您应该决定数组应该包含字符串还是int。它们不能同时包含两者。