//=====================HashSet集合类===================================
//set集合无索引、不可以重复、无序(存取不一致)
//存储自定义对象,并保证元素的唯一性需要重写hashCode()和equals()方法
/**
* 创建10个1到20的随机数
* 1、用Random类创建随机数对象
* 2、需要存储10和随机数,而且不能重复,所有用hashSet集合
* 3、如果hashSet的size是小于10就可以不断的存储,如果大于等于10就停止存储
* 4、通过Random类中的nextInr(n)方法获取1到20之间的随机数,并将这些随机数存储在hashSet集合这种
* 5、遍历hashSet集合
*/
Random r = new Random();
HashSet<Integer> hs = new HashSet<Integer>();
while (hs.size() < 10) {
hs.add(r.nextInt(20)+1);
}
for (Integer integer : hs) {
// System.out.println(integer);
}
//=====================Map集合类===================================
//map集合是双列集合(key,value),键是唯一的
//map集合的数据结构只针对键有效,Collection集合的数据结构针对元素有效
/**
* * A:Map集合的功能
* a、put(K key,V value):添加功能
* 如果键是第一次存储,就直接存储元素返回null
* 如果键不是第一次存储,就用值把以前的值替换掉,返回以前的值
* b、删除功能
* void clear();移除所有的键值对元素
* V remove(Object key);根据键删除键值对元素,并把值返回
* c、判断功能
* boolean containsKey(Object key);判断集合是否包含制定的键
* boolean containsValue(Object value);判断集合是否包含指定的值
* boolean isEmpty();判断集合是否为空
* d、获取功能
* Set<Map.Entry<K,V>> entrySet();
* V get(Object K);根据键获取值
* Set<K> keySet();获取集合中所有的键的集合
* Collection<V> value();获取集合中所有值的集合
* 5、遍历hashSet集合
*/
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("张三", 23);
map.put("李四", 24);
map.put("王五", 25);
map.put("赵六", 26);
// System.out.println(map.containsKey("张三"));
// System.out.println(map.containsValue(25));
// System.out.println(map.isEmpty());
Collection<Integer> c = map.values();
// System.out.println(c);
//=====================遍历Map集合类===================================
/**迭代器遍历
* Set<String> keySet = map.keySet();//获取所有key的集合
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String key = it.next();
Integer value = map.get(key);
System.out.println(value);
}
*/
//增强for循环
for (String key : map.keySet()) {
System.out.println(key+"="+map.get(key));
}