集合

来源:互联网 发布:芒果tv php视频解析 编辑:程序博客网 时间:2024/05/22 10:37

集合是java提供的一种容器,可以用来存储多个数据。

数组和集合都可以用来存储数据,有什么区别呢?

   数组的长度是固定的,集合的长度可变

   集合中存储的元素必须是引用类型


集合的创建方式:

Collection<元素类型> 变量名=new 子类<元素类型>()

也可以不指定类型Collection 变量名=new 子类()

Iterator迭代器

 因为Collection实现子类有不同的存储方式,为了可以获取这些元素,用迭代器实现了这一特性


对于List和Set接口有共性,也有各自的特性。共性就是Collection中的那些方法啦

List 存取是有序、元素是可重复、有索引(可以根据index获取值如Arraylist可以根据通过for循环进行遍历获取每个元素 get(index))

ArrayList:是数组实现,增删慢,查询快,线程不安全,效率高。(像数组存储一样ArrayList也是顺序存储,在数据结构中我们知道数组式存储)

LinkedList:是链表实现,增删快,查询慢

Set  存储无序,元素不可重复,无索引

         HashSet:是哈希表实现,存储无序 元素不可重复

TreeSet:是二叉树实现,从小到大排序、元素不可重复、无索引

Map体系

存储结构:

双列集合的根接口,存取无序、键不可重复、无索引

HashMap 底层是哈希表,存取无序、键不可重复、无索引,线程不安全,效率高。

       |LinkedHashMap 存取有序,其他和Map一样

     |Hashtable 底层是哈希表,存取无序、键不可重复、无索引,线程安全,效率低。

          |TreeMap 底层是二叉树,排序、键不可重复、无索引。

定义方式

Map<K,V> map=NewHashMap<K,V>();

Map中存储的是键值对

对元素进行增删

Map.put<K,V>

Map.remove<k,v>

取出键

Map.keySet()

取出值

Map.get(Key);  通过键获取值

Map和Collection

Map成为双列集合集合存取的是键值对,可以存取两个对象。

而Collection成为单列集合。只能存取一个对象,元素是孤立存在的,像集合中存取元素是一个一个的进行存放


0 0
原创粉丝点击