其实很简单,完全不用用集合,只要一找好就print或组String,多馀的内存也可以省下
public class Run {
private final static int [] temp = {1,2,5,8,6,2,11,15,2,6,2,11,15,5,1,8,6};
public static void main(String[] args) {
Run r = new Run();
rlocateAllAndPrint();
}
private void locateAllAndPrint () {
for (int i = 0; i < templength; i++) {
int h = temp[i];
boolean repeated = false;
for (int j = 0; j < i; j++) {
if (temp[j] == h) {
repeated = true;
break;
}
}
if (!repeated) {
StringBuffer sb = new StringBuffer();
for (int j = 0; j < templength; j++) {
if (h == temp[j]) {
sbappend(", ")append(j);
}
}
sbdelete(0, 2)insert(0, " --> [")insert(0, h)append(']');
Systemoutprintln(sbtoString());
}
}
}
}
解释一下,第一个 j 的 loop是用来防止print重覆的数字
第二个 j 的 loop是用来组一串string,串好了才print,这样可以减少print的次数,delay也可以减少,当然,如果你喜欢的话,你可以直接print,不需要用stringbuffer
java中数组的下标表示在数组中的元素,从0开始的数值,0代表的是第一个元素,1代表的是第二个元素,往上依次类推。实例如下:
int[] intarry = new int[]{1,2,4};//新建一个int类型的数组Systemoutprintln(int[0]);//其中0就是代表数组的第一个数值,也就是1,下标为0
以上就是关于Java怎样快速分出一个数组中相同元素的下标,详细如下:全部的内容,包括:Java怎样快速分出一个数组中相同元素的下标,详细如下:、java中数组中每个值的下标是什么意思、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)