62,616
社区成员
发帖
与我相关
我的任务
分享
String [] arrays = new String[100001];
String [] abc = {"aja","bowz","cor","dpco","elztr","flzk","gzl","hzld","ildsk"};
for (int i = 0; i < arrays.length; i++) {
arrays[i]=abc[new Random().nextInt(8)];
}
/*其他跟上面的一样*/
看着不错,能给翻译成java6么[/quote]
/**
* Created by puruidong on 2015/4/16.
*/
public class TestDemo {
public static void main(String[] args) {
String [] arrays = {"a","b","c","c","a","c","dsa","a","d","k","z","r","z","a","bc","r","a","c"};
/*太懒,直接就list遍历输出吧.*/
Arrays.asList(showCopyNum(arrays)).forEach((x)->{System.out.println(x);});
/*
* 下面是返回回来的数组.
showCopyNum(arrays);
*/
}
private static Object[] showCopyNum(String[] array){
Set<String> set = new HashSet<>();
Map<String,Integer> maps = new TreeMap<>();
for (String str:array)
maps.put(str,(set.add(str)?1:maps.get(str)+1));
return maps.entrySet().stream().sorted(new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {return o2.getValue().compareTo(o1.getValue());}}).toArray();
}
}
String[] array = { "a", "b", "c", "c", "a", "c" };
Collections.sort(Arrays.asList(array));
System.out.println(Arrays.asList(array).toString());
[a, a, b, c, c, c] 先拍好序再处理。 import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class Test8 {
/**
* @param args
*/
public static void main(String[] args) {
String[] arr={"a","b","c","c","a","c"};
Map<String,Integer> map = new HashMap<String,Integer>();
MyValueComparator vc = new MyValueComparator(map);
Map<String,Integer> map1 = new TreeMap<String,Integer>(vc);
for(int i=0;i<arr.length;i++){
String str1=arr[i];
if(map.containsKey(str1)){
map.put(str1, map.get(str1).intValue()+1);
}
else{
map.put(str1, 1);
}
}
map1.putAll(map);
Object[] strArray_new = (Object[])map1.keySet().toArray();
System.out.println("原来的数组:"+Arrays.toString(arr));
System.out.println("处理后的数组:"+Arrays.toString(strArray_new));
}
}
class MyValueComparator implements Comparator<String> {
Map<String, Integer> map;
public MyValueComparator(Map<String, Integer> map) {
this.map = map;
}
public int compare(String a, String b) {
if (map.get(a) >= map.get(b)) {
return -1;
} else {
return 1;
}
}
}