Java集合框架之Collection学习和笔记——黑马训练营

-------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集合构造函数。该对象就是比较器。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值