java--集合

集合特点:

1.元素类型可以不同。

2.集合长度可变。

3.空间不固定。

 

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

  

  JFC(Java Collections FrameWork)集合框架,提供了用于管理集合的接口和类

集合框架包括三个内容:接口、实现类、算法

接口:  collection是list和set的父接口。其中list的特点是:线性、元素可以重复。set的特点是:元素不可以重复。

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

 

集合和数组的区别:

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

2.集合的长度可以随着元素的多少发生变化,数组创建好后,长度不能变化。

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

 

遍历的方式:

1.for循环遍历,只能用于list集合。

2.迭代器方式,得到迭代器的算法和接口。   iterator

3.for each方式

迭代器方式,得到迭代器算法接口

  Itertor<Student> it=stu.itertor();

  while(it.hasNext){

  Student s=is.Next();

}

 

list三个实现类的区别:

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

Vector:和ArrayList类似,底层也由数组实现,但他是线程安全的类,效率较低。

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

 

set集合实现类的区别:

HashSet:将元素按Hash码排列,        Set <> set=new HashSet<>();

LinkedHashSet:将元素按加入顺序排列。
TreeSet:可以将元素按制定规则排列。

 

Map集合:

向集合中添加元素,Map.put(键,值);   根据键对象找到值对象,Student s=map.get(键);----->找不到,返回null;

遍历:

Set<String > set=map.keySet();

for(String key:set){//      打印         }

根据键.对象移除元素      map.remove(键);

Map集合实现类的区别:

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

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

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

 

collections:算法类,主要针对List集合。

倒序:collections.reverse(list);

乱序:collections.shuffle(list);

指定规则排序:collections.sorf(list,new comparator<>()){      }

排序:      comparator                算法:collections

 

posted @ 2016-04-27 23:31  forevery  阅读(197)  评论(0编辑  收藏  举报