package com.g; import java.util.HashSet; import java.util.Set; public class Test_Set { /** * Set集合的特点: * 不包含重复元素的collection; * * HashSet的特点: * 不保证set集合的迭代顺序;特别是他不保证这个顺序恒久不变。 * * HashSet保证元素唯一性的原理: * add的过程中,进行了hashCode和equal的判断。 * 判断流程:首先比较hashCode如果不同,再比较equal方法。元素重复就不再添加 * 使用要点: * 使用HashSet时,如果要保证元素的唯一性必须重写hashCode方法和equal方法。 * */ public static void main(String[] args) { Set<String> s = new HashSet<String>(); s.add("hello"); s.add("world"); s.add("java"); s.add("world"); for (String s2: s) { System.out.println(s2); } } }
package com.g; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test_Map { /** * Map集合: * 将键映射到值的对象。一个映射不能包含重复的键,一个键映射一个值。 * * Map集合不使用add方法,使用自己的put方法put(); * * Map的常用成员方法: * put(K,V);加入集合 * remove(Object K);删除 * clear();清空 * m.containsKey(Object K);判断键是否存在 * m.containsValue(Object V);判断值是否存在 * isEmpty();判断集合是否为NULL * size();返回键值对数 * * * Map集合的获取方法: * get(K); * keySet();返回一个所有键的Set集合 * values();返回一个所有值的Set集合 * * Map集合的遍历: * 方法1:通过键的集合keySet()遍历用get方法获取值; * 方法2:通过Map返回一个Set键值对数组,对数组进行遍历 */ public static void main(String[] args) { Map<String,String> m = new HashMap<String,String>(); m.put("it01","aaaaaa"); m.put("it02","bbbbbb"); m.put("it03","cccccc"); Set<Map.Entry<String,String>> s = m.entrySet(); for (Map.Entry<String,String> m2:s) { System.out.println(m2.getKey()+"---------------"+m2.getValue()); } } }
Map集合两种找值方法,图解