您的位置:首页 > 职场人生

黑马程序员-----java集合类

2014-02-25 22:21 274 查看
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!
----------------------

一、集合类:用于容纳不同种类的数据

集合类分为三种:集、列表和映射;

1、集(set):集合中不区分元素的顺序,并且不包含重复元素(最多有一个null);

2、列表(List):列表区分元素的位置,即它能够精确的控制每个元素插入的位置,List允许包含重复元素;

3、映射(Map):Map中不能包含相同的键,并且每个键最多只能映射一个值;

二、相关类

SetHashSet

Collection

LinkedList

List

Vector
Stack

MapHashtable

斜体为接口,它们是继承与实现的关系;

三、相关类与其方法

1、java.util.Collection

add(T t);向集合中添加一个元素,此方法在Set与List中被重写,Set接口中添加重复元素返回false,List接口中会接收重复元素;

remove(Object o);从集合中删除指定元素

clear();删除集合中所有的元素

contains(Object o);判断集合中是否包含指定元素;

public Object[] toArray();返回包含当前集合中所有元素的数组;

isEmpty();判断集合是否为空;

size();返回集合中元素的个数;

注意:不论Collection的实际类型如何,它都支持一个方法--------public Iterator iterator();该方法返回一个枚举器对象,使用该对象可以遍历Collection中的每一个元素

Iterator it = c.Iterator():

for(it.hashNext()){

Object ob = it.next();

}

2、java.util.Map

V put(K,V);添加一组新的键值对,并返回新元素的值,如果此映射已经包含一个该键的信息,则新值替换旧值

V get(K);返回指定K的值

containsKey(K);判断此映射是否包含此K

containsValue(V);判断此映射是否包含此V;

V remove(K);删除由key标识的键值对,并返回V;

int size();

void clear();

3、java.util.List

void add(int,E);在索引号之后插入E对象;

boolean add(E e);在链表的最后插入E对象;

boolean remove(Object);删除链表里第一个指定内容的元素;

E remove(int);删除链表里指定索引号的元素;

E get(int);返回链表里指定索引的元素

int size();

int indexOf(Object);返回Object元素索引,如果没有找到返回-1

List<E> subLIst(int,int);得到int开始到int结尾的字链表

void clear();

4、java.util.Vector

与数组相比,Vector对象除了可以很好的实现元素的插入和删除功能外,也具有动态增长的特性

1)、Vector构造方法

Vector():构造一个空的向量,并设置其初始容量为10

Vector(int):使用指定初始容量和等于0的容量增量构造一个空的向量

Vector(int,int):使用已知的初始容量和容量增量构造一个空的向量

Vector(<E> c);明确知道向量中对象的类型;

5、java.util.Stack

Stack继承了Vector类,但是它对应的数据结构中一“后进先出”的方式储存和操作数据

1)、构造方法

Stack();

2)、其他方法

E peek();返回栈顶元素的对象,但没有弹出栈顶元素的动作

E pop();弹出栈顶元素,并返回其对象

E push(E item);向堆栈压入item对象,同时将item对象返回;

6、java.util.LinkedList

1)、构造方法

LinkedList():

LinkedList(Collection c);

LinkedList(<E> e);

7、java.util.HashSet

1、构造方法

HashSet():

HashSet(<E> e);

8、java.util.Hashtable

----------------------
<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: