集合:
特点:元素类型可以不同、集合长度可变、空间不固定。
Java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储、检索、操作和传输对象。
Jcf(Java collections framework )集合框架。它提供了用于管理集合的接口和类。
集合框架主要包含三个内容:
接口 collection :1、list(特点:线性,元素可以重复) 2、set(特点:元素不可以重复)
Map集 合,一个元素包含两个对象(键对象和值对象),而且键不能重复。
实现类 ArrayList 集合的长度,就是集合元素的个数。
算法。
集合和数组的区别:
1、 集合中只能存放对象的引用,数组可以是基本类型,可以是引用类型。
2、 集合的长度可以随元素多少而变化,数据创建好以后,长度不能变化。
3、 集合算法比较丰富,可以省去开发者很多编码。但数组算法有限。
List三个实现类的区别:
ArrayList:底层部分有数组实现。遍历速度快,中间插入删除元素速度慢。
Vector:和Arraylist类似。底层部分有数组实现。遍历速度快,中间插入删除元素速度 慢。但它是线程安全的类,效率较低。
Linkedlist:采用双向链表实现。是不连续的内存空间。每个元素除了存放数据外,还要存放上一个和下一个元素的地址。中间插入删除速度快,遍历速度慢。
Set集合实现类的区别:
HashSet:将元素按hash码排列
LinkedHashSet:将元素按加入顺序排列
TreeSet:可以将元素按指定规则排列
Map集合实现类的区别:
HashMap :元素按键对象的hash码排列。线程不安全,允许null键,和null值。
Hashtable:元素按键对象的hash码排列。线程安全,不允许null键和null值。
TreeMap:元素按键对象指定的规则排列。
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, IdentityHashMap, 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();