List、Set、数据结构、Collections

本文详细介绍了List和Set集合的特点及其常用方法,包括ArrayList、LinkedList等具体实现,并对比了不同集合之间的区别,如有序性、重复性及索引使用等。此外还涉及了栈、队列、数组、链表等基本数据结构的概念与特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List集合特点

List集合中的元素是有序的,可以有重复的元素,而且带有索引,可以通过索引查找元素.

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):用指定元素替换索引位置元素,并返回初始元素.

Arraylist(略)

LinkedList常用方法:

public void addFirst(E e) :将指定元素插入此列表的开头。

public void addLast(E e) :将指定元素添加到此列表的结尾。

public E getFirst() :返回此列表的第一个元素。

public E getLast() :返回此列表的最后一个元素。

public E removeFirst() :移除并返回此列表的第一个元素。

public E removeLast() :移除并返回此列表的最后一个元素.

public E pop() :从此列表所表示的堆栈处弹出一个元素。

public void push(E e) :将元素推入此列表所表示的堆栈。

public boolean isEmpty() :如果列表不包含元素,则返回true。

常见的数据结构

栈(stack):又称堆栈,只能从一端进行插入和删除操作,先进后出.

列队(queue):简称队,只允许从一端插入另一端删除,先进先出..

数组(array):是有序的元素序列,有索引,查找快,增删慢.

链表(linkedList):单链:每个元素由两个节点组成,一个存元素一个是指针指向下一个元素

红黑树(tree)

哈希表

数组结构特点

元素是有序的,长度固定,自带索引,查找快,增删慢.

栈结构特点

先进后出

队列结构特点

先进先出

单向链表结构特点

增删快,查找慢 内存不连续.

Set集合的特点

Set集合中元素不可以重复,而且不保证是有序的,没有索引值.

HashSet实现类

LinkedHashSet实现类

哈希表的特点

特别快,增加程序运行效率

哈希表其实就是一个默认长度为16的数组

哈希桶:就是哈希表里面的每一个小格

加载因子: 默认0.75,一旦有超过这个比例的桶被占用了,就会自动扩容.

再哈希:就是自动扩容,重新细致的分类.

使用HashSet集合存储自定义元素

自定义的类必须覆盖重写 hashCode和equals

可变参数的格式

修饰符 返回值类型 方法名(参数类型... 形参名){ }

注意:一个方法只能有一个可变参数

集合工具类

Collections工具类

常用功能:

public static <T> boolean addAll( ):往集合中添加一些元素.

public static void shuffle( List<T> list):打乱集合顺序.

public static <T> void sort(LIst<T> list):对集合元素进行排序(默认规则).

public static <T> void sort(

使用Comparator比较器进行排序

Comparable:自定义的类需要去实现它,public int compareTo(T t):升序就是我减他.

Comparator:自定义的类不用去实现它,第二个参数指定即可 public int compare(T o1 ,T o2):升序就是1-2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值