|--HashSet:底层数据结构式哈希表。线程是非同步的。
保证元素唯一性的原理,判断元素的hashCode值是否相同。
如果相同,还会继续判断元素的equals方法,是否为true.
|--TreeSet:可以对Set集合中的元素进行排序。
底层数据结构式是二叉树。
compareTo方法return 0.
Set集合的功能和Collection是一致的。
Map集合:该集合存储键值对。一对一对往里存,而且要保证键的唯一性。
1.添加.
put(K key,V value)
putAll(Map<? extends K,?extends V> m)
2.删除
clear()
remove(Object key)
3.判断。
containsValue(Object value)
containsKey(Object key)
isEmpty()
4.获取
get(Object key)
size()
values()
Map
|--Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。JDk1.0 效率低
|-- HashMap:底层是哈希表数据结构,允许使用null键null值。该集合是线程不同步的。JDk1.2 效率高
|--TreeMap:底层数据结构式是二叉树。线程不同步。可以用于给map集合中的键进行排序。
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class test {
public static void main(String[] args) {
Map<String, String> map=new HashMap<String, String>();
//添加元素.如果出现添加时,相同的键,后面的值覆盖前面的值
map.put("01", "zhangsan1");
map.put("02", "zhangsan2");
map.put("03", "zhangsan3");
System.out.println("containsKey:"+map.containsKey("022"));
//System.out.println("remove:"+map.remove("02"));
System.out.println("get:"+map.get("02"));
map.put(null, "aha");
map.put("04", null);
System.out.println("get:"+map.get(null));//可以通过get方法的返回值来判断一个键是否存在,通过返回null来判断
//获取map集合中所有的值
Collection<String> coll=map.values();
System.out.println(coll);
}
}