package com.cfam.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; /** * <p> * Title: ListToRepeat.java</p> * <p> * Description: list集合查詢復數據,查詢重復次數</p> * * @author ken chen * @date 2019年8月5日 * @version 1.0 */ public class ListToRepeat { public static void main(String[] args) { List<String> lists = new ArrayList<String>(); for (int i = 0; i < 10; i++) { // 添加隨機數 lists.add(String.valueOf(new Random().nextInt(8))); } // 創建Map集合 Map<String, Integer> map = new HashMap<String, Integer>(); for (String list : lists) { // 創建計數器 重復加一 Integer i = 1; // 如果map集合取到添加的值 list取到的值賦值給mapkey mapvalue計數器+1; if (map.get(list) != null) { // 計數器加一 i = map.get(list) + 1; } // map更新重復value 加1 如果不重復賦值給map map.put(list, i); } // value 值為list 集合出現的次數 System.out.println("map 中數據為" + map.toString()); // 遍歷map 集合 for (String s : map.keySet()) { // 查詢value 出現的次數 if (map.get(s) > 1) { // 打印計數器出現1次以上的數據 System.out.print(s + " " + "出現次數" + map.get(s) + "次 "); } } } }