今天先来讲讲Java的集合框架,我也是才学是以我个人的理解角度写的笔记所以这些仅供参考哈不足的地方请指出。
集合框架又称容器。是一种储存对象的容器,可以把他想象成一个杯子,一个箱子等是用来装载对象的。
而容器又分为两大类:
即Collection类和Map类
Collection:并没有和map一样有映射也可就是说储存对象的时候一次储存一个对象。
Map:其提供的是键和值的映射且map内不能有相同的键。map对象的各种操作都在其键的基础上进行操作的。
什么意思呢就是说在map储存对象的时候一次要储存两个值一个是键一个是要储存的对象,这个键就代表那个对象。
Collection接口里面又有三个字子接口List,Set和Queue(queue我还没学😅)接口,而他们也有实现容器类的子类。
List:ArrayList,LinkedList和Vector。
Set:HashSet和TreeSet,LinkedHashSet。
Map里面有两个容器的实现类:HashMap,TreeMap
关系如下
区别:
List和Set区别:list有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复.
set:无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性。
ArrayList和LinkedList的区别:ArrayList查,改快捷灵敏,LinkedList增删快捷灵敏(一般用ArrayList)
HashSet和TreeSet的区别:他们都属于Set接口,里面的内容都是无序的但是HashSet和TreeSet还是有区别的,HashSet他的顺序是乱的恒久不变的也就是说元素存入集合的顺序和取出的顺序并不一致并且顺序不变而TreeSet在遍历的时候会按照升序(从小到大)遍历
HashMap和TreeMap的区别:和HashSet和TreeSet的区别一样的只不过是多了个键值
他们的关系如下
Collection接口常用方法(Set和List类都可以用):
add(object a)//将指定的对象 插入到容器中
add(index b,object a)//将指定的对象 插入到容器中指定的下标
remove(object a)//将指定的对象 删除
isEmpty()//返回nboolean值用于判断当前容器是否为空
size()//返回容器的对象数量
List常用方法(只有List类才可以使用):
get(index a)//获取指定位置的对象
set(index a,object b)//更改指定位置的对象为
Map常用方法(hashmap和treemap都可以用)
map与collection的插入方法不同
put(key,object)//向集合中插入指定的键与对象映射关系
containsKey(object key)//如果此项映射包含指定的键的映射关系返回true
containsValue(object value)//如果此映射将一个或多个key映射到指定的值返回true
get(object key)//获取指定的键的对象
keySet()//返回该集合所有对象的键值并形成一个set集合(所以在将此集合赋值的时候容器只能是set容器)
values()//返回该集合的所有对象的值生成的collection集合(所以在将此集合赋值的时候容器只能是collection容器)
迭代器
公式:Iterator 迭代器名字=需要迭代的对象.iterator();