JAVA从零开始学习知识整理——day03-【数组数据结构、List、Set集合,Collections集合工具】

一、 简单了解数据结构
1.栈 -栈,stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。
元素存取(压栈、弹栈),先进的元素会后被取出。
2.队列。按照顺序存取元素。
3.数组。查找快,增删慢。(地址值连续,但每增删一次都需要借助一个新的数组)
4.链表。查询慢,增删快。(地址值不连续,增删时断链重连)
5.红黑树。查询快。

二、List接口
1.特点:①元素存取有序,带有索引方法。
2.集合中可以存入重复元素(采用eqauls方法判别)。
3.常用方法:
public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
public E get(int index) :返回集合中指定位置的元素。
public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
三、List—子类
1.ArrayList:集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为
查询数据、遍历数据,所以 ArrayList 是最常用的集合。
2.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。
四、Set接口
1.存储的元素不可重复,无序。
2.由于不带索引方法,采用迭代器或者增强for进行遍历。
五、Set—实现类
1.HashSet:它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序
不一致)。是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。保证元素唯一性的方式依赖于: hashCode 与 equals 方法。
2.HashSet需要存储自定义类型时,需要重写HashCode和equals方法。
3.LinkedHashSet:能保证存入的元素在HashSet的基础上变得有序。
五、 可变参数
1.当我们对方法的参数类型已知,参数个数未知的时候,我们可以采用可变参数。
格式:修饰符 返回值类型 方法名(参数类型… 形参名){ }
2.一个参数列表只能包含一个可变参数,而且可变参数必须位于参数列表最后一个。
六、 Collections工具
1.addAll(Collection c, T… elements) :往集合一次性添加一些元素
2.public static void shuffle(List<?> list) :随机打乱集合元素排序
3.public static void sort(List list) :将集合中元素按照默认规则排序。
4.如果需要对自定义的类进行排序,需要让类实现CompareTo,并重写CopareTo方法。
4.public static void sort(List list,Comparator<? super T> ) :将集合中元素按照指定规则排
序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值