Map之HashSet和HashMap练习

it2023-02-22  82

public static void main1(String[] args) { Map<String,Integer> map = new HashMap<>(); map.put("一号",1); map.put("二号",2); map.put("三号",3); map.put("四号",4); map.put("五号",5); for (Map.Entry<String,Integer> entry: map.entrySet()){ System.out.println(entry.getKey() + "," + entry.getValue()); } } public static void main2(String[] args) { Set<Integer> set = new HashSet<>(); set.add(1); set.add(2); set.add(3); set.add(4); set.add(5); // 方式一:打印 System.out.println(set); // 方式二:迭代器打印 Iterator<Integer> it =set.iterator(); while (it.hasNext()){ System.out.println(it.next()); } } // 找到第一个重复的数字 public static void main3(String[] args) { Random random = new Random(); ArrayList<Integer> list = new ArrayList<>(); for (int i = 0; i < 100; i++) { list.add(random.nextInt(6)); } // 这个过程相当于去重 HashSet<Integer> set =new HashSet<>(); for (Integer val: set){ if(set.contains(val)){ System.out.println("找到了第一个重复元素"+ val); return; }else{ set.add(val); } } } // 数组中的数字以及出现的次数 public static void main5(String[] args) { Random random = new Random(); ArrayList<Integer> list = new ArrayList<>(); for (int i = 0; i < 100; i++) { list.add(random.nextInt(6)); } Map<Integer,Integer> map = new HashMap<>(); for (Integer key : list){ if(map.get(key) == null){ map.put(key,1); }else{ Integer val = map.get(key); map.put(key,val+1); } } System.out.println(map); } //找出数组中没有出现重复的数字 public static void main6(String[] args) { int[] array = {2,2,3}; int ret =0; for (int val: array) { ret ^= val; // 使用异或只能在这样的数组找,在像{1,2,3,2,4,5}这样中就不能找了 } System.out.println(ret); } public static void main(int[] args) { HashSet<Integer> hashSet = new HashSet<>(); for (int i = 0; i < args.length; i++) { if(hashSet.contains(args[i])){ hashSet.remove(args[i]); }else{ hashSet.add(args[i]); } } Iterator<Integer> it = hashSet.iterator(); while(it.hasNext()){ System.out.println(it.next()); } }
最新回复(0)