/*
* 1 简单的list和 set的比较
*
* list 实现是数组每个元素有不同的占位所以 可以包含不同元素
*
* set 相当与一个大的袋子 里面元素无序的不可以重复
*
* HashSet不能添加重复元素 当调用add()时候、、、
* 首先 会调用object里面的hashcode() 判断hashcode()
* 是否存在 如果不存在直接插入
*
* 如果存在则调用Object里面的equals()判断是否返回true
* 如果返回真则说明元素已经存在 如果false在进行插入
*
* 此处肯跟hash顺序 hash存储有关
*
* 2 HashMap 和 HashTable
*
* 首先第一要理解 键值对 value可以全部都一样
*
* map理解成地图 。同一个地址就是唯一定位 value进行覆盖
* 一处地址可以没有定位 key可以为null
*
*
* table理解成桌子。都在吃饭有椅子 有人
* 有椅子没人 value不可以null
* m没椅子有人更不行 key不可以null
*
*
*
* */
public String c="aaa";
public static void main(String[] args) {
// TODO Auto-generated method stub
//中间插曲 关于object里面的equals
System.out.println("list he set之间的比较");
ListAndSet ll=new ListAndSet();
ListAndSet ll1=new ListAndSet();
System.out.println(ll.equals(ll1));
System.out.println(ll.c.equals(ll1.c));
System.out.println("------------");
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
System.out.println(list.size());
Set<String> set=new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");
set.add("a");
System.out.println(set.size());
System.out.println("hashMap he hashtable之间的比较");
HashMap<String, String> map=new HashMap<String, String>();
map.put("11", "杜文特");
map.put("22", "小吴");
map.put("11", "小黄");
map.put("11", null);
map.put(null, "键是null");
map.put(null, null);
System.out.println(map.size());
System.out.println(map.get("11"));
System.out.println(map.get(null));
Hashtable<String,String> table=new Hashtable<String,String>();
System.out.println("------------");
table.put("11", "杜文特");
table.put("22", "小吴");
table.put("11", "小黄");
// table.put("11", null);NullPointerException
// table.put("33", null);NullPointerException
// table.put(null, "键是null");
// table.put(null, null);
System.out.println(table.size());
System.out.println(table.get("11"));
* 1 简单的list和 set的比较
*
* list 实现是数组每个元素有不同的占位所以 可以包含不同元素
*
* set 相当与一个大的袋子 里面元素无序的不可以重复
*
* HashSet不能添加重复元素 当调用add()时候、、、
* 首先 会调用object里面的hashcode() 判断hashcode()
* 是否存在 如果不存在直接插入
*
* 如果存在则调用Object里面的equals()判断是否返回true
* 如果返回真则说明元素已经存在 如果false在进行插入
*
* 此处肯跟hash顺序 hash存储有关
*
* 2 HashMap 和 HashTable
*
* 首先第一要理解 键值对 value可以全部都一样
*
* map理解成地图 。同一个地址就是唯一定位 value进行覆盖
* 一处地址可以没有定位 key可以为null
*
*
* table理解成桌子。都在吃饭有椅子 有人
* 有椅子没人 value不可以null
* m没椅子有人更不行 key不可以null
*
*
*
* */
public String c="aaa";
public static void main(String[] args) {
// TODO Auto-generated method stub
//中间插曲 关于object里面的equals
System.out.println("list he set之间的比较");
ListAndSet ll=new ListAndSet();
ListAndSet ll1=new ListAndSet();
System.out.println(ll.equals(ll1));
System.out.println(ll.c.equals(ll1.c));
System.out.println("------------");
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
System.out.println(list.size());
Set<String> set=new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");
set.add("a");
System.out.println(set.size());
System.out.println("hashMap he hashtable之间的比较");
HashMap<String, String> map=new HashMap<String, String>();
map.put("11", "杜文特");
map.put("22", "小吴");
map.put("11", "小黄");
map.put("11", null);
map.put(null, "键是null");
map.put(null, null);
System.out.println(map.size());
System.out.println(map.get("11"));
System.out.println(map.get(null));
Hashtable<String,String> table=new Hashtable<String,String>();
System.out.println("------------");
table.put("11", "杜文特");
table.put("22", "小吴");
table.put("11", "小黄");
// table.put("11", null);NullPointerException
// table.put("33", null);NullPointerException
// table.put(null, "键是null");
// table.put(null, null);
System.out.println(table.size());
System.out.println(table.get("11"));
// System.out.println(table.get(null));
结果:
list he set之间的比较
false
true
------------
4
3
hashMap he hashtable之间的比较
3
null
null
------------
2
小黄