Java集合关系

作者: 迷糊银儿 | 来源:发表于2018-12-15 23:01 被阅读14次

数组和集合的比较

数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下:

  1. 数组能存放基本数据类型和对象,而集合类存放的都是对象的引用,而非对象本身!
  2. 数组容易固定无法动态改变,集合类容量动态改变。
  3. 数组无法判断其中实际存有多少元素,length只告诉了数组的容量,而集合的size()可以确切知道元素的个数
  4. 集合有多种实现方式和不同适用场合,不像数组仅采用顺序表方式
  5. 集合以类的形式存在,具有封装、继承、多态等类的特性,通过简单的方法和属性即可实现各种复杂操作,大大提高了软件的开发效率
  • Collection和Map,是集合框架的根接口。
  • Collection的子接口:Set、List
  • Set的子接口:SortedSet接口

List集合

有序列表,允许存放重复的元素;
实现类:
ArrayList:数组实现,查询快,增删慢,轻量级;(线程不安全)
LinkedList:双向链表实现,增删快,查询慢 (线程不安全)
Vector:数组实现,重量级 (线程安全、使用少)

List常用方法:
void add(int index, Object element) :添加对象element到位置index上
boolean addAll(int index, Collection collection) :在index位置后添加容器collection中所有的元素
Object get(int index) :取出下标为index的位置的元素
int indexOf(Object element) :查找对象element 在List中第一次出现的位置
int lastIndexOf(Object element) :查找对象element 在List中最后出现的位置
Object remove(int index) :删除index位置上的元素 
ListIterator listIterator(int startIndex) :返回一个ListIterator 跌代器,开始位置为startIndex 
List subList(int fromIndex, int toIndex) :返回一个子列表List ,元素存放为从 fromIndex 到toIndex之前的一个元素

set集合

无序集合,不允许存放重复的元素,允许使用null元素;对 add()、equals() 和 hashCode() 方法添加了限制。
实现类
HashSet:存储无序
LinkedHashSet:存储有序
子接口SortedSet的实现类
TreeSet:排序的Set集合

Map

集合框架的第二类接口树。
它提供了一组键值的映射。其中存储的每个对象都有一个相应的关键字(key),关键字决定了对象在Map中的存储位置。关键字应该是唯一的,每个key 只能映射一个value。

实现类:

  • HashMap:存储无序
  • Hashtable:线程安全的,不允许null的键或值;
  • TreeMap:存储有序
  • LinkedHashMap: 此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。存储的数据是有序的。

相关文章

  • Java基础之Collection集合

    标题常用集合 Java集合中,几个常用集合关系图 Collection单列集合中常用集中集合关系 Collecti...

  • java集合

    java集合 集合之间的关系 Collection├List│├LinkedList│├ArrayList│└Ve...

  • Java集合与并发集合

    画一下Java的集合collectionjava.util和并发集合java.util.concurrent的关系...

  • Java集合关系

    数组和集合的比较 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架...

  • 第八章 java容器 (集合)

    java 容器---集合 一、各种集合的整体关系图 Collection框架类图 总体关系图 接口继承关系和实现 ...

  • 集合

    集合继承关系图 集合Collection的方法 Object[] toArray()集合转成数组 学习Java中三...

  • day14 Map集合

    Map集合 Map集合是双列集合, 是一种一一对应关系,就是映射,Java提供 java,util.Map接口供我...

  • java集合类总结

    集合是java中存放对象的容器,存放于java.util包中。下图是java集合类的继承与实现关系: Collec...

  • 疯狂java讲义第八章笔记

    第八章 java集合 8.1 java集合 集合用来保存数量不确定的数据,以及保存具有映射关系的数据。也被称为容器...

  • Java基础(五)

    Java集合 接口继承关系和实现 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list...

网友评论

    本文标题:Java集合关系

    本文链接:https://www.haomeiwen.com/subject/lqyzhqtx.html