(十四)java中集合类collection
1. 集合定义collection
集合相当于一个容器,里面可以存放对象,每个对象作为集合的一个元素,每个对象的数据类型可以不同。但是,对象必须是引用类型的。
2. 常用的集合set map list
set无序,没有重复的元素的集合,有hashset,treeset
list有序,可以重复的元素集合,有arraylist,linkedlist
map键值对应的一种集合,有hashmap,treemap
set与list都是继承父类接口collection。拥有父类的方法,但是不少都被重写。
3. set集合
特点:元素的存入顺序和集合的内存储顺序不同,且集合中没有重复的元素,对于对象来说就是地址不同。
子类HashSet — HashSet的特性在于其内部对象的散列存取。根据hashcode来存放的。
子类TreeSet —TreeSet存入的顺序跟存储的顺序不同,但是存储是 按照按照asic码表的自然顺序排序存储的。且要求2个元素之间可以直接比较。(不太懂)
public static void main(String[] args) {
// HashSet — HashSet的特性在于其内部对象的散列存取,
//即采用 哈希技术
HashSet hashSet=new HashSet<String>();
hashSet.add("1");
hashSet.add("2");
//2个1,无法存入,虽然不报错,但是在结果中并没有2个1.
hashSet.add("1");
/* 3是基本数据类型!
按照要求是不被允许的,但是在做的时候,
集合实际上是将基本数据类型3转化为他的包装类,hashset.add(new Integer(3))这样存放的。 */
hashSet.add(3);
System.out.println(hashSet);
/*TreeSet —
* TreeSet存入的顺序跟存储的顺序不同,但是存储是 按照排序存储的
* 要求:2个元素之间可以直接比较 */
TreeSet treeSet