Skip to content

Latest commit

 

History

History
184 lines (139 loc) · 2.39 KB

11-集合.md

File metadata and controls

184 lines (139 loc) · 2.39 KB

集合

用来保存多个引用数据类对象的容器

集合的长度不限制

集合框架

类,接口,算法

Collection(父接口)

add(Object obj)
remove(Object obj)
size()
isEmpty()
contains()
iterator()
	
clear()
addAll()
removeAll()
containsAll()
  1. List(子接口)

有序的,可以包含重复数据的集合

get(int i)
remove(int i)
subList()
indexOf()

子类:ArrayList

List list = new ArrayList();
list.add("");
list.size();
list.remove("");

List list = new ArrayList();
list.add("")
list.size();
list.remove("");

集合的遍历:

for(int i = 0; i < list.size(); i++){
	list.get(i);
}

for(Object obj:list){
	obj
}

Iterator in = list.iterator();
while(in.hasNext()){
	in.next();
}
  1. Set(子接口) [无序的,不可包含重复数据的集合]
// set集合不能添加重复的数据,如果添加则添加失败
HashSet(实现子类)

Set set=new HashSet();
set.add();
set.remove()
set.size()

遍历:

for(Object obj: set){
	obj;
}

Iterator in = set.iterator();
while(in.hasNext()){
	in.next();
}

map

键值对的集合,键不可以重复,值可以重复

// map集合的键值重复添加时,则实现覆盖
put()
get()
remove()
size()
isEmpty()
containsKey()
containsValue()
clear()
keySet()

HashMap(实现子类)

Map map=new HashMap();
map.put(key,value);
map.remove(key);
map.get(key)

遍历:

Set set = map.keySet();
for(Object obj : set) {
	map.get(obj);
}

Set set = map.keySet();
Iterator in = set.iterator();
while(in.hasNext()) {
	map.get(in.next())
}

泛型

广泛的数据类型(引用数据类型)

public class A<E,F> {
	E name;
	F age;
}

第一种使用方式(没有定义泛型时,则默认的数据类是 Object)

A aa = new A();
// name和age的数据类型是Object

第二种是与使用方式(可以自己定义泛型的数据类型)

A<String,Integer>  aa = new  A<String,Integer>();
// name 是 String,age 是 Integer

Collections

注意:所有的方法全部都是静态的

sort()
reverse()
shuffle()
max()
min()
binarySearch()

Arrays

注意:所有的方法都是静态的

sort()
fill()
copyOf()
asList()
binarySearch()