集合

集合:

特点:元素类型可以不同、集合长度可变、空间不固定。

Java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储、检索、操作和传输对象。

Jcf(Java collections framework )集合框架。它提供了用于管理集合的接口和类。

 

集合框架主要包含三个内容:

接口                  collection :1、list(特点:线性,元素可以重复)                                   2、set(特点:元素不可以重复)

Map集 合,一个元素包含两个对象(键对象和值对象),而且键不能重复。

实现类              ArrayList 集合的长度,就是集合元素的个数。

 

算法。

集合和数组的区别:

1、  集合中只能存放对象的引用,数组可以是基本类型,可以是引用类型。

2、  集合的长度可以随元素多少而变化,数据创建好以后,长度不能变化。

3、  集合算法比较丰富,可以省去开发者很多编码。但数组算法有限。

 

List三个实现类的区别:

         ArrayList:底层部分有数组实现。遍历速度快,中间插入删除元素速度慢。

         Vector:和Arraylist类似。底层部分有数组实现。遍历速度快,中间插入删除元素速度                                      慢。但它是线程安全的类,效率较低。

         Linkedlist:采用双向链表实现。是不连续的内存空间。每个元素除了存放数据外,还要存放上一个和下一个元素的地址。中间插入删除速度快,遍历速度慢。

Set集合实现类的区别:

AbstractSet

ConcurrentSkipListSet

CopyOnWriteArraySet

EnumSet

HashSet:将元素按hash码排列

JobStateReasons

LinkedHashSet:将元素按加入顺序排列

TreeSet:可以将元素按指定规则排列

Map集合实现类的区别:

HashMap :元素按键对象的hash码排列。线程不安全,允许null键,和null值。

Hashtable:元素按键对象的hash码排列。线程安全,不允许null键和null值。

TreeMap:元素按键对象指定的规则排列。

AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMapIdentityHashMap, LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap

1、Map集合如何添加元素?Map集合如何根据键得到值?

 m.put(key,vaule), 将map中的key存入set集合,通过迭代器取出所有的key,再获取每一个键对应的值 

 

方便查找,可根据键,找到键值

 

For循环遍历,只能用于list集合。

迭代器可用于list,set,map的遍历

For each方式

Iteractor<E> it=list.iteractor();

posted on 2016-04-19 22:26  Jleeci  阅读(142)  评论(0编辑  收藏  举报

导航