java中的常用集合类
1、ArrayList:ArrayList 里面的数据都是有序的,并且可以重复
ArayList 缺点:删除慢,随机插入慢
举例:如何将数组中的元素变为集合
String name[] = {"Tom","jack"};
List<String >list = Arrays.asList(name);
2、LinkedList
共性:有序 可以重复(里面的元素)
区别:数据的存储方式不同
ArrayList本质:数组
LinkedList本质:链表
优点:随机插入快,随机删除快
缺点:随机获取元素慢,逐个遍历每个元素,而ArrayList是通过下标获取元素
3、HashSet
共性:持有对象,全部放到[ ]中
区别:1.存入的对象是无序的(相对无序)
HashSet 的排序规则是根据hashCode产生的
2.存入HashSet容器的对象不能重复
HashSet先判断两个对象的hashCode是否相同,再判断 两个对象的Equals是否相同
注意:放入HashSe中的对象类型,必须覆盖hashCode()方法和Equals方法
放入Se中的对象类型,必须覆盖hashCode()方法和Equals方法,严格的还需要覆盖toString方法,Set无序,没有get方法
4、HashMap
特点:Map以键值对(key:value)的形式存储数据,Map中的键可以是int,也可以是其他任意数据类型
键必须唯一,值可以相同
放入Map中的键必须要覆盖Object类hashCode和Equals,toString方法
HashMap常用方法:
containsKey(Object key)
containsValue(Object value)
map.values()返回Map中的所有值
map.keySet()返回Map中所有的键
Map的迭代方法entrySet
使用:如何打印系统的所有环境变量
Map<String,String>envMap = System.getenv();
for(Map.Entry<String,String>entry:envMap.entrySet()){
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key = "+key,"value = "+vaule);
}