黑马程序员_Java集合总结(一)

来源:互联网 发布:全国各乡镇人口数据 编辑:程序博客网 时间:2024/05/16 16:17

---------------------- android培训、java培训、期待与您交流! ----------------------

一、基本概念

 

所有Java集合类都位于java.util包中,与Java数组不同,Java集合中不能存放基本数据类型,只能存放对象的引用。

 

集合:存储对象,可变长度。类型不确定。

数组:存储对象,类型确定,不可变长度。

 

集合框架的体系(collection)  操作集合的方法:增删改查。

 

1:List 集合有索引,元素可以重复

2.set集合元素不能重复,没有索引。。

 

List集合分:

arrayList 底层是数组结构。查询速度快,增删慢。

LinkedList 底层是链表结构。增删快,查询慢。

vector: 底层数组结构,具有特有的枚举迭代。

集合的使用:当需求的元素比较多,增加,删除频繁的话用linkedlist。

           当需求元素比较多,需要查找时,用arraylist;。

 

二、迭代器

迭代器:在集合内部取出元素时,对于各种集合所抽取出来的一种共性的取出取出规则。。

提供了一种通用的方式来访问集合中的元素.

Iterator是java.util包中提供的方法.

其中有3个方法

hasNext()判断是否有更多的元素.如果有返回true

next()

remove()方法删除上一个被访问的元素.可以实现也可以不实现.

迭代器是指向两个元素之间的.


Collection提供了一个iterator()方法,可以返回一个迭代器.

凡是继承自Collection的接口或间接的实现类都有这个方法.

Iterator it=a1.iterator();

it.next();

it.remove();

while(it.hasNext())

{

System.out.println(it.next());

}

 

三、list

List(列表)  特点;和数组类似按索引顺序排序,可以有重复的对象。他的实现支持Null.

              实现常用的类如下两种;               

  1.ArrayList类

                特点:与数组类似、连续的地址空间、但长度可随意增减。

                方法: 增   add(int index,object o) 添加所有数据类型和对象(可在指定的位置插入对象)添加基本类型会自动转换为包装类型可为null

                             删  remove(int index)         

                             查  get(int intdex)

                             改  set(int index, object o) 在指定的位置  修改对象;

  2.LinkedLisrt类

               特点:里面是存储数据的方式是双向引用,没个对象有独立的空间,访问的原理只能一个一个的查,访问的性能比较差  (存的是、是引用对象null 会被回收)

            特有方法:

                  addFirst();addLast();

                  getFirst(); getLast();

                  获取元素 , 不删除元素 .

                  removeFirst();removeLast();

                  获取元素 . 删除该元素 . 如果集合中没有元素会出现 NoSuchElementException

 在 JDK1.6 出现了替代方法 .

                 offerFirst();offerLast();

                  peekFirst();PeekLast();

                  获取元素 , 元素不被删除 . 如果没有元素返回 null.  

                  pollFirst();pollLast();

                  获取元素 , 元素被删除 . 如果没有元素返回 null.

---------------------- android培训、java培训、期待与您交流! ----------------------