集合

java集合中提供了一套优良的接口、类,它们位于util包中,只需导入即可。

image

Collection 接口:定义了存取一组对象的方法,子接口set、list、Map存储方法。

一、set 中数据对象没有顺序,而且不可重复。

二、list 中数据对象有顺序,可重复。

Map 接口:定义了存储“健Key”,“value”映射的方法

Arraylist :底层实现数组,线程不安全,效率高,查询快,修改、插入、删除慢!

LinkeList:底层链表,线程不安全,效率高,查询慢,修改、插入、删除快!

vector:线程安全,效率高

1、list:不唯一,有序

           arraylist:元素不唯一,有序列,遍历元素访问,随机访问效率高

           linkelist:链表存储元素,唯一,删除、修改效率高

2、set:唯一,无序列

           hashSet:

           treeSet:

3、Map存储一组对象,提供键值对保存

           hashMap:允许null值

           treeMap:不允许null值

三、ArrayList常用方法:

add();在尾部追加一个元素,

size();获取有效的元素个数

add(int,index);

clear();移除所有

get(index);指定获取

Remoe(index);按指定的下标进行移除

isEmpty();判断是否为空

boolean contains(object o);判断列表中是否存在指定的元素

set(index,e)指定的元素下标,替换该位置的元素

四、linkelist常用方法:插入、删除频繁操作

void addFirst(object o)在列表头部添加元素

void addlast(object o)在尾部添加

Objest getFirst()返回列表中第一个元素

Objest getLast() 返回列表中最后一个元素

Objest removeFirst()删除列表中第一个开头的元素

Objest removeLast()删除列表中最后的一个元素

五.Set迭代器方法

实现类:HashSet、TreeSet

使用步骤:

1.创建 Set set = new HashSet()

2.常用方法:

set.add(Objest o);往set集合中添加对象

set.Size()返回有效的集合对象

注意:set中没有get方法,使用迭代器访问数据

1.创建迭代器:lterator  i = set.iterator();

常用方法:hasNext();判断迭代器中是否拥有下一条数据。

Next();获取吓一跳数据。

迭代方法①

for(Objest objest : set){对象 对象名 : 集合

Integer i = (Integer)objest;类型强制转换

}

迭代方法②

Iterator i = set.iterator();创建迭代器

while(i.hasNext()){ 判断是否有吓一跳数据

Integer num = (Integer)i.next(); 获取下一条数据

}

迭代方法③

for(Iterator it = set.itergor()//获取迭代器; it.hasNext();获取下一条数据){

Objest对象 objest = (Objest对象)it.next();强制转换

}

六.Map接口

常用方法:

put("键值key","value元素");使用键值对储存数据

get(键值key);获取元素值

remove(键值key);删除元素

containskey(键值key);判断是否有指定的元素

size();返回有效的集合元素

keySet();返回键集合值

values();返回键值对集合

七.泛型

1.作用:控制集合中存放的数据,

List<Objest o> Li = new ArralList<Objest o>()

2.问题:泛型中如何存放多种对象

用多态、接口

List<Objest父类、接口类 o> Li = new ArralList<Objest父类、接口类 o>()

Li.add(子类、接口类)

泛型指定是父类,那么所有该父类的子类则都可以通过检查

泛型指定的是接口,那么所有该接口的实现类都可以通过检查

原文地址:https://www.cnblogs.com/xxt19970908/p/5281566.html