标签:get int OD chr map1 new put 机试 排序
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 输入 String str = in.nextLine(); // if(str.length() <= 0) { return; } char[] chr = str.toCharArray(); // 循环解析 Arrays.sort(chr);// TODO System.out.println(Arrays.toString(chr)); // map HashMap<Character, Integer> map1 = new HashMap<>(); for (int i = 0; i < chr.length; i++) { if (map1.get(chr[i]) == null) { map1.put(chr[i], 1); } else { map1.put(chr[i], map1.get(chr[i]) + 1); } } StringBuilder sb = new StringBuilder(); int num = 0; for (Character ch : map1.keySet()) { if (ch >= 'a' && ch <= 'z') { System.out.println(ch + " " + map1.get(ch)); sb.append(ch + ":" + map1.get(ch)+";"); } } for (Character ch : map1.keySet()) { if (ch >= 'A' && ch <= 'Z') { System.out.println(ch + " " + map1.get(ch)); sb.append(ch + ":" + map1.get(ch)+";"); } } System.out.println(sb.toString()); } }
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 输入 String str = in.nextLine(); // if(str.length() <= 0) { return; } char[] chr = str.toCharArray(); // 循环解析 Arrays.sort(chr); System.out.println(Arrays.toString(chr)); // map HashMap<Character, Integer> map1 = new HashMap<>(); for (int i = 0; i < chr.length; i++) { if (map1.get(chr[i]) == null) { map1.put(chr[i], 1); } else { map1.put(chr[i], map1.get(chr[i]) + 1); } } // map HashMap<Character, Integer> map = new HashMap<>(); for (int i = 0; i < chr.length; i++) { if (map.get(chr[i]) == null) { map.put(chr[i], 1); } else { map.put(chr[i], map.get(chr[i]) + 1); } } List<Map<String, Object>> list = new ArrayList<>(); for (Character ch: map.keySet()) { Map<String, Object> mp = new HashMap<>(); mp.put("key", ch); mp.put("num", map.get(ch)); list.add(mp); } // 排序 list.sort(new Comparator<Map<String, Object>>() { @Override public int compare(Map<String, Object> o1, Map<String, Object> o2) { // int a = (int)o2.get("num")-(int)o1.get("num"); // 等于 if (a != 0) { return a; } Character c1 = (Character)o1.get("key"); Character c2 = (Character)o2.get("key"); if (c1 >= 'a' && c2 < c1) { return -1; } if (c2 >= 'a' && c1 < c1) { return 1; } return c1-c2; } }); StringBuilder stringBuilder = new StringBuilder(); for (Map mp: list) { stringBuilder.append(mp.get("key") + ":" + mp.get("num")+";"); } System.out.println(stringBuilder.toString()); } }
标签:get,int,OD,chr,map1,new,put,机试,排序 来源: https://www.cnblogs.com/supperlhg/p/16299887.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。