第1个回答 2014-04-14
我尽量多写了几种数据结构,比较非主流,纯属娱乐
public static String[] sort(String[] strArr) {
if(null == strArr || strArr.length == 0){
return strArr;
}
Set<String> set = new HashSet<String>();
Map<String, Integer> map = new HashMap<String, Integer>();
int length = 0;
for (String str : strArr) {
set.add(str);
if (set.contains(str)) {
int sum = 1;
if (map.containsKey(str)) {
sum = map.get(str) + 1;
map.remove(str);
}
map.put(str, sum);
}
}
Iterator<String> it = set.iterator();
while(it.hasNext()){
String s = it.next();
int j = map.get(s);
for(int i=0;i<j;i++){
strArr[length]=s;
length++;
}
}
return strArr;
}本回答被提问者和网友采纳
第3个回答 2014-04-14
String [] str=new String[]{"apple","dog","apple","dog","apple","cat","cat","dog","lamb"};
List list=new LinkedList();
for(String s:str){
if(list.lastIndexOf(s)!=-1){
list.add(list.lastIndexOf(s), s);
}else{
list.add(s);
}
}
System.out.println(list);