-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------
1、常用集合的分布图
Java的常用集合类主要由两个接口派生出来的:Collection和Map,Collection和Map集合是Java集合常用框架的根接口
List和Set接口是Collection接口派生的两个子接口。
Collection:
1、List集合:元素是有序的,元素可以重复,因为该集合体系有索引
2、Set集合:元素是无序的,元素不可以重复
List:
1、ArrayList集合:底层的数据接口使用的数组结构。特点:查询速度快,但增删稍慢。
2、LinkedList集合:基层使用是链表数据结构。特点:增删速度很快,但查询稍慢。
Set:
1、HashSet集合:底层数据结构是哈希表。
2、TreeSet集合:底层数据结构是二叉树结构。特点:可以对Set集合中的元素进行排序。
1、如何使用Arraylist
public static void main(String[] args) {
ArrayList list=new ArrayList();
//给数组增加10个Int类型元素
for(int i=0;i<10;i++){
//添加元素
list.add(i);
}
System.out.println("ArrayList集合中的所有元素"+list);
System.out.println("ArrayList集合中元素个数"+list.size());
}
Arraylist集合对数据的操作
增:boolean add(Object o)
void add(int index, E)把元素添加到执行的角标上
删:void clear()清空集合
boolean remove(Object o) 删除某一个元素
removce(int index)根据角标删除某个元素
改:set(int index,E)根据角标替换集合中的某个元素
retainAll(Collection c)取两个集合的交集
查:get(int index)根据角标查找某个元素
int size()返回几个的长度
boolean isEmpty()判断几个是否为空
2、LinedList如何使用
public static void main(String[] args) {
LinkedList list=new LinkedList();
//添加元素
list.add("22");
list.add("33");
list.add("44");
list.add("55");
//添加到集合的第一个
list.addFirst("11");
//添加到集合最后一个
list.addLast("66");
System.out.println(list);
}
LinedList集合对数据的操作
增:add(元素)根据顺序添加元素
addFirst(元素)把元素添加到链表集合的第一个元素
addLast(元素)把元素添加到链表集合的最后一个元素
删:removeLast()删除链表集合中最后一个元素
removeFirst()删除链表集合中第一个元素
改:set(index, element)根据位置修改元素
查:getFirst()获取链表集合的第一个元素
getLast() 获取链表集合的最后一个元素
3.如何使用HashSet集合
public static void main(String[] args) {
HashSet hs=new HashSet();
hs.add("lisi--1");
hs.add("lisi--2");
hs.add("lisi--1");
hs.add("lisi--3");
hs.add("lisi--5");
hs.add("lisi--4");
hs.add("lisi--5");
//迭代器
Iterator i=hs.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
HashSet是通过元素的两个方法,hashCode和equals来完成的,如果元素的HashCode值相同,才会判断equals是否为true
如果元素的HashCode值不同,不会调用equals。
注意:对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals。
4.如何使用TreeSet集合
public static void main(String[] args) {
TreeSet ts = new TreeSet();
ts.add("caa");
ts.add("bca");
ts.add("casf");
ts.add("des");
Iterator it = ts.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
/*打印结果
* bca caa casf des
*
TreeSet:它可以给Set集合中的元素进行指定方式的排序
排序的第一种方式:让元素自身具备比较性,只要让元素实现Comparable接口,覆盖compareTo方法就可以了
排序的第二种方式:自定义比较器的方式。
这是可以让集合自身具备比较性,可以定义个类实现Comparator接口,复写compare方法,将该Comparator接口子类对象作为实际参数传递给TreeSet集合构造函数。该对象就是比较器。