摘要:
Collection List(存取有序,有索引,可以重复) ArrayList底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 LinkedList底层是链表实现的,线程不安全,增和删比较快,查找和修改比较慢 Vector底层是数组实现的,线程安全的,无论增删改查都慢 如果查找和修改多,用 阅读全文
摘要:
Collections工具类简介 就像数组中的Arrays工具类一样,在集合里面也有跟Arrays类似的工具类Collections 阅读全文
摘要:
Map接口概述 除了Collection之外,常用的集合还有Map接口,里面常用的实现类图如下: map中的元素是以键-值的方式存在的,通过键可以获取到值,键是不可以重复的,跟地图比较像,通过一个坐标就可以找到具体的位置。 Map的遍历 方式一:Map中的keySet()返回的是一个包含所有键的Se 阅读全文
摘要:
使用TreeSet存储Integer对象 TreeSet的特点是可以对存放进去的元素进行排序。 使用TreeSet存储自定义类型对象 这里还是存储之前定义的Person对象,需要实现Comparable接口并且重写compareTo方法,先根据name的字典顺序排序,然后再根据年龄进行排序。 测试类 阅读全文
摘要:
LinkedHashSet简介 通过LinkedHashSet的名字就可以看出,他的底层使用了链表的数据结构,因此LinkedHashSet的特点是读取元素的顺序跟存入元素的顺序是一致的,并且元素不能重复。 练习 1.生成10个1~20之间的整数,并且这些整数不能重复2.将List中的元素进行去重 阅读全文
摘要:
HashCode方法的作用 在HashSet中的元素是不能重复的,jvm可以通过equals方法来判断两个对象是否相同,假设自定义一个Person类里面有10个成员变量,每调用一次equals方法需要做10次if判断分别比较这10个成员变量是否相等,如果想HashSet中存放100个对象,那就会做1 阅读全文