String[] a={"a","b","b","c","c","c","d","d","d","d","f","f","f","f","f"}; List<String> list = new ArrayList<String>(); String str = ""; for(String b : a){ str+=b; } int i = 0; while(i < a.length){ str.substring(i); int start = str.indexOf(a[i]); int end = str.lastIndexOf(a[i]); list.add("("+(start+1)+","+a[i]+")"); i = end +1; } for(String show : list){ System.out.println(show); }新手写的 可能想法不是很好 楼上那种用map去做的也很不错
for(int i=0; i<array.length; i++){
Integer number = Integer.valueOf(i);
Integer count = (Integer)map.get(nubmer);
if(count==null){
count=Integer.valueOf(0);
}else{
count=Integer.valueOf(count.intValue()+1);
}
map.put(number, count);
}
for(Iterator iter=map.entrySet();iter.hasNext();){
Map.Entry entry = (Map.Entry)iter.next();
System.out.println(entry.getValue()+","+entry.getKey());
}
String[] a={"a","b","b","c","c","c","d","d","d","d","f","f","f","f","f"};
List<String> list = new ArrayList<String>();
String str = "";
for(String b : a){
str+=b;
}
int i = 0;
while(i < a.length){
str.substring(i);
int start = str.indexOf(a[i]);
int end = str.lastIndexOf(a[i]);
list.add("("+(start+1)+","+a[i]+")");
i = end +1;
}
for(String show : list){
System.out.println(show);
}新手写的 可能想法不是很好 楼上那种用map去做的也很不错
String[] str={"a","b","b","c","c","c","d","d","d","d",
"f","f","f","f","f","g","g","g","h","h","h"};
for(int i=0;i<str.length;i++){
if(i==0) System.out.println((i+1)+","+str[i]);
if(i>0){
if(str[i].equals(str[i-1])) continue;
System.out.println((i+1)+","+str[i]);
}
}