List和Set、Collections

博客主要介绍了Java中的集合相关知识。包括List集合,其元素存取有序、可重复且带索引,还介绍了常用方法及子类ArrayList和LinkedList;Set集合元素不可重复且无序,子类有HashSet和LinkedHashSet;此外还提及了Collections的常用功能及Comparator和Comparable。

List集合

1、List接口介绍
  • 元素存取有序的集合
  • 可以有重复元素
  • 一个带索引的集合,可以通过索引精确操作集合中的元素
2、List接口中常用方法
  • public void add(int index,E element):
  • public E get(int index):
  • public E remove(int index):
  • public E set(int index,E element):
3、List的子类
3.1 ArrayList集合
集合存储的结构是数组结构,元素增删慢,查找快。
3.2 LinkedList集合
集合数据存储的结构是链表结构,方便元素添加、删除的集合。
public E pop():
public void push(E e):

Set集合

1、Set接口的介绍
  • 元素是不可重复的
  • 无序的
2、Set的子类
HashSet集合
一,简介:HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能,保证元素唯一性的方式依赖于:hashCode与equals方法。
二,存储数据的结构:数组+链表+红黑树,存储的过程???
三,存储自定义类型元素:需要重写对象中的hashCode和equals方法,建立自己的比较方法,才能保证HashSet集合中对象唯一。
LinkedHashSet集合
链表和哈希表组合的一个数据存储结构,可以实现有序。

Collections

1.1 常用功能
			pulic static <T> boolean addAll(Collection<T> c,T...elements):往集合中添加一些元素;
			public static void shuffle(List<?> list):打乱集合顺序;
			public static <T> void sort(List<T> list):将集合中元素按照默认规则排序;
			public static <T> void sort(List<T> list,Comparator<? super T>):将集合中元素安装指定规则排序。
1.2 Comparator和Comparable
sort方法中的排序,如果我们比较的是String,那么它的默认规则是怎么定义的呢?
排序不过就是两个对象之间比较大小,Java中提供了两种比较实现的方式,一种是java.lang.Comparable接口去实现,一种是java.util.Comparator接口实现。
String类实现了Comparable接口,并重写了comparaTo方法,也就是完成了比较规则的定义。但如果我想换一种比较的规则(比方说按照最后一个字母大小升序排序),则需要修改String的源代码,显然不能实现。
但我们可以实现Comparator接口,重写里面的compare方法,定义自己的规则。使用的时候之间传进去。
比较自己定义的类,两种方法都可以,因为规则都可以自己定义。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值