栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA集合(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA集合(一)

本文章旨在复习下JAVA集合的一些基本内容。

集合可以下分为Collection单列集合、Map双列集合还有一种queue集合,但最后一种由于我没怎么深入学习过,所以我暂且不提。毕竟我只知道我知道的,我只分享我了解的。我讲述的内容脑图如下图:

首先要说明一点就是Collection、Map、List、Set都是接口,而ArratList、LinkeList、HashSet、TreeSet、HashMap、TreeMap是实现类。而那些实现类都是实现了对应的接口。

Collection接口:

Collection接口下面有如下几个常用方法:

		boolean add(E e) 			添加元素
		boolean remove(Object o)    移除指定元素元素
		boolean removeif(Object o)  根据条件删除
		void clear() 				清空集合
		boolean contains(Object o)  判断集合中是否存在指定的元素//可以传lamdba表达式
		boolean isEmpty() 			判断集合是否为空
		int size() 					集合的长度
		iterrator() 				获取一个迭代器对象
		而迭代器对象可以使用下面两个常用方法:
		hasNext();//判断当前位置元素是否可以被取出
		next();//取出当前位置的对象,将迭代器往后移动一个索引的位置

实现Iterator接口后可以使用增强for,增强for使用方法为:

		for(元素数据类型 变量名:数组或者Collection集合){}
List接口:

List集合是有序集合,怎么存怎么取,有序,有索引,可重复,List接口继承了Collection接口,所以List集合能使用Collection下面的所有方法。同时List下面有其独特的方法:

		viod add(int index,E e)  在此集合中的指定位置插入指定元素
		E remove(int index)   删除指定索引位置的元素,返回被删除的元素
		E set(int index,E e)	修改指定索引处的元素,返回被修改的元素
		E get(int index)	返回指定索处的元素

而List又有两个具体的实现类,ArrayList与LinkedList。

ArrayList底层数据结构时数组,查询快,增删慢

LinkedList底层数据结构数链表,查询慢,增删快,同时,由于链表的特性,LinkedList有其独特方法:

		void addFirst(E e)	在该列开都插入指定的元素
		void addLast(E e)	将指定的元素追加到此列表的末尾
		E getFirst()	返回此列表中的第一个元素
		E getLast()	返回次列表中的最后一个元素
		E removeFirst()	移除第一个元素
		E removeLast()	移除最后一个元素
Set接口:

Set集合是无序集合,存储顺序不一致,没有索引,可以去除重复,Set接口继承了Collection接口,所以Set集合能使用Collection下面的所有方法。Set集合有一下两个实现类:

HashSet:

底层数据结构是哈希表,通过hashCode和equals方法进行去重的,在使用HashSet存储自定义对象的时候,那个类必须重写hashCode和equals方法

TreeSet:

底层是红黑树,可以将元素按照规则进行排序,但前提需要指定排序规则,用对象实现Comparable接口,重写里面的compareTo方法定制规则

Map接口:

他有以下常用方法:

		V put(K key,V value)				添加元素
		V remove(Object key)				根据键删除键值对元素
		void clear()						移除所有的键值对元素
		boolean containsKey(Object key)		判断集合是否包含指定的键
		boolean containsValue(Object value)	判断集合是否包含指定的值
		boolean isEmpty()					判断集合是否为空
		int size()							集合的长度,也就是集合中键值对的个数	
		Set keySet()						获取所有键的集合
		V get(Object key)					根据键获取值
		Set> entrySet()		获取所有键值对对象的集合
		K getKey()							获得键
		V getValue()						获得值

遍历方法:
第一种:先获取所有的键,再去遍历键,然后用键去获取值
第二种:先把键值对放到集合里面遍历,然后直接获取键值对的K,V

HashMap:

实现类,底层是哈希表结构,依赖hashCode方法和equals方法保证键的唯一,如果键要存储的是自定义对象,需要重写hashCode方法和equals方法

TreeMap:

实现类,底层是红黑树结构,以来自然排序或者镖旗排序,对键进行排序,如果键存储的是自定义对象,需要实现Comparable接口或者在创建TreeMap对象的时候给出比较器的排序规则

创建不可变集合:

static List of(E…elements) 创建一个具有指定元素的List集合对象
static Set of(E…elements) 创建一个具有指定元素的Set集合对象
static Map of(E…elements) 创建一个具有指定元素的Map集合对象

最后下一次会复习下集合是如何实现的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/857146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号