1.特点
无序
元素添加的顺序与输出的顺序不一致
唯一
不允许添加重复元素
不重写equals方法,默认比较的是Object类型,而Object是引用类型,比较是内存地址
重写equals+hashcode,先比较hashcode值,再比较equals
hashcode值相同,则比较equals
hashcode值不相同,则不比较equals2.遍历方式
foreach
iterator(迭代器)3.常用实现类
hashset
linkhashset
treeset
按照某种特定的规则对集合中的元素进行排序(升序和降序)
java.lang.Comparable
自然比较接口
java.util.Comparator
比较器
一.Map:
1.1 特点:无序、以键值对的形式添加元素,键不能重复,值可以重复
它没有继承Collection接口
1.2 遍历
1.2.1 先取出保存所有键的Set,再遍历Set即可(2种)
1.2.2 先取出保存所有Entry的Set,再遍历此Set即可
2.HashMap与Hashtable之间的区别(重点)//Map
//1.特点:
//1)无序
//2)以键值对的形式存在,键唯一,值可以重复。
//3)没有继承collection接口
//问题+解答:键唯一,值被覆盖
Mapmap=new HashMap<>();
map.put("name","zs");
map.put("sex","man");
map.put("age",11);
map.put("score",110);
map.put("name",121);
System.out.println(map);
//2.遍历方式
//2.1获取所有的keys
System.out.println("++++++++");
//Set:唯一,map.keySet()
SetkeySet = map.keySet();
for (String string : keySet) {
System.out.println(string);
}
//2.2获取所有的values
Collection
同步(synchronized)既排队 线程安全的 hashtable
异步 线程非安全的 hashmap
3.1 Collections:工具类,提供一组静态方法操作Collection集合
3.2 Arrays:工具类,提供了一组静态方法操作数组
匿名内部类
//TreeMap //1)按照 Key排序 //通过Comparator.reverseOrder()让其 键降序排 Mapmap=new TreeMap<>(Comparator.reverseOrder()); map.put("zs", 100); map.put("ls",123); map.put("s", 121); System.out.println(map); //2)按照Value排序 //获取键值对 Set > entrySet = map.entrySet(); //将键值对转换成List集合 List > list=new ArrayList<>(entrySet); //使用Collection帮助类进行排序 //Collection和Collectionss的区别 //Collection :集合框架的父接口 //Collections:集合框架帮助类 Collections.sort(list,new Comparator >(){ @Override public int compare(Entry o1, Entry o2) { // TODO Auto-generated method stub return o1.getValue().hashCode()-o2.getValue().hashCode(); } }); //将数组转换成集合 String str="1,2,3,4,5,6,7"; String[] split = str.split(","); List asList = Arrays.asList(str); System.out.println(asList); String s=Arrays.toString(split); System.out.println(s);


![[四.J2EE] [四.J2EE]](http://www.mshxw.com/aiimages/31/943863.png)
