java基础12

集合

框架顶层Collection接口

常见方法:

boolean add(Object obj);    boolean addAll(Collection col);

boolean remove(Object obj);   boolean removeAll(Collection col);   void clear();

boolean contains(Object obj);   boolean containsAll(Collecton col);   boolean isEmpty(); 

int size();

Iterator iterator();//去除元素的方式迭代器,该对象必须依赖具体容器,因为每一个容器的数据结构不同,所以迭代器对象是容器内部实现的。对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,也就是iterator方法。

Iterator接口就是对所有的Collection容器进行元素取出的公共接口。

Collection:1.List:有序(存入和取出的顺序一致),元素都有索引(角标),元素可以重复。2.Set:元素不能重复,无序。

List特有的常见方法

void add(index, element);   void add(index, collection);   Object remove(index);   Object set(index, element);

Object get(index);   int indexOf(object);   int lastIndexOf(object);

List中常用的子类

1.Vector:内部是数组数据结构

2.ArrayList:内部是数组数据结构,是不同步,替代Vector。查询的速度快。

3.LinkedList:内部是链表数据结构,是不同步的。增删元素的速度非常快。

LinkedList相关方法:addFirst(String str);   getFirst();   removeFirst();

Set集合:(保证数据不重复)

元素不可以重复,无需。Set接口中的方法和Collection中的方法是一致的。

HashSet:无序,不重复,依赖于hashCode和equase()方法

TreeSet:可以对Set集合中的元素进行排序。是二叉树结构,是不同步的。判断元素惟一性的方式:就是根据比较方法的返回值结果是否是0,是0,就是相同元素,不存在。

TreeSet对元素进行排序的方法之一:让元素自身具备比较功能,元素需要实现Comparable接口,覆盖compareTo方法。(自然顺序排序)

TreeSet的第二种比较方式(元素不具备自然排序的功能):让集合具备比较性,在创建集合的时候为集合传递一个参数Comparator的实现类对象。

使用规则

看到array:就要想到数组,就要想到查询快,有脚标。

看到link:就要想到链表,就要想到增删快,

看到hash:就要想到哈希表,就要想到唯一性,就要想到元素需要覆盖hashcode和equals方法

看到tree:就要想到二叉树,就要想到排序,就要想到两个接口Comparable和Comparator.

而且通常这些常用的集合容器都是不同步的。

Map

一次添加一对元素。Collection一次添加一个元素。Map也称为双列集合,Collection集合称为单列集合,其实Map集合中存储的就是键值对,map集合必须保证键的唯一性。

void clear():清空map集合

value put(key, value):返回前一个和key关联的值,如果没有返回null

value remove(key):根据指定的key返回指定的键值对。

boolean containsKey(key):是否包含指定的键

boolean containsValue(value):是否包含指定的值

boolean isEmpty():是否为空

value get(key):通过键获取值,如果没有键返回null 。(可以通过返回值是否为null,判断是否包含指定键)

猜你喜欢

转载自blog.csdn.net/weixin_42581821/article/details/86673059
今日推荐