Java集合

容器当中接口的层次图如下:


容器当中接口的特点如下:

.Collection接口

   Collection 表示一组对象,他是集中收集的意思,就是把一组数据收集起来,Collection接口的两个子接口Set,List:

   Set中的数据没有顺序,不可以重复。

   List中的数据有顺序,可以重复。

    Collection接口中定义的方法:


List接口:

  有序的Collection,容许存在重复的元素,常用的实现类ArrayList和LinkedList。

  List中实现的常用方法:

  void  add(Object element);//添加元素

  void add(int index,Object element);//在索引index处添加元素

  Object get(int index);//获取索引index处的值

  Object set(int index,Object element);//修改某一位置的元素。

  Object remove(int index);移除某一位置的元素。

  List实现类特点

  ArrayList:底层用数组实现的List,特点是:查询效率高 ,增删效率低(因为某处增加和删除元素时,会使该处后面的元素 位置后推或前移),线程不安全。

  LinkedList:底层是双向链表实现的List,特点是:查询效率低,增删效率高,线程不安全。

  Vector:底层用数组实现的List,特点:线程安全.

Map接口:

  • Map用于保存具有”映射关系”(key-value)的数据,Map的key不允许重复。
  • Map接口常见的实现类:Hashtable,HashMap,TreeMap
    • Hashtable: 内部存储的键值对是无序的是按照哈希算法进行排序,与HashMap最大的区别就是线程安全.键或者值不能为null,为null就会抛出空指针异常
    • HashMap(最常用): 内部存储的键值对是无序的是按照哈希算法进行排序,与Hashtable最大的区别就是非线程安全的,键或值可以为null。
    • TreeMap: 基于红黑树(red-black tree)数据结构实现, 按 key 排序,默认的排序方式是升序. 

Set接口:

  • 没有顺序,不能包含重复元素
  • Set判断两个对象相同不是使用”==”运算符,而是根据equals方法。
  • Set的实现类有HashSet和TreeSet; 
  • HashSet: 采用哈希算法实现的。它不保证 set元素的迭代顺序.HashSet的底层是用HashMap实现的(元素保存在HashMap的键值对(key-value)中的key中,因为key不可重复),因此查询效率较高,由于采用hashCode算法直接确定元素的内存地址,增删效率也挺高的。
  • TreeSet: TreeSet使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序.





   

阅读更多
个人分类: Java
想对作者说点什么? 我来说一句

JAVA 经典算法书集合(1)

2011年06月27日 10.57MB 下载

java集合与映射(牛)

2009年04月28日 3KB 下载

java 文件管理集合

2010年07月11日 6KB 下载

java集合框架图

2011年10月18日 313KB 下载

java集合API

2007年11月05日 204KB 下载

java集合思维导图

2017年08月07日 64KB 下载

JAVA应用实例集合

2011年12月03日 59KB 下载

JAVA 经典算法书集合(2)

2011年06月27日 5.6MB 下载

没有更多推荐了,返回首页

不良信息举报

Java集合

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭