List Set Java数据结构初级 Collections比较器
今天学习的比较繁杂,及时理解消化
01.回顾_Java集合体系框架:
A).Collection(接口):单列集合:
|–List(接口):特点:1).有序的;2).可以存储重复元素;3).可以通过索引访问元素
|–ArrayList(子类)
|–LinkedList(子类)
|–Set(接口):特点:1).无序的;2).不能存储重复元素;3).不能索引访问元素;
|–HashSet(子类):
|–LinkedHashSet(子类):
B).Map(接口):双列集合
02.第一章:List集合:
1).特点:
1).有序的;
2).可以存储重复元素;
3).可以通过索引访问元素
2).List接口中的新增的方法:
添加:
1).public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
查询:
2).public E get(int index) :返回集合中指定位置的元素。
删除:
3).public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
修改:
4).public E set(int index, E element) :用指定元素替换集合中指定位置的元素,
返回值的更新前的元素。
注意:
1).上面的四个方法有个共同的特征,都带"索引"的参数。
2).上面的四个方法,在使用索引时,必须保证索引的正确,否则会抛异常;
List<String> list = new ArrayList<>();
System.out.println(list.get(0));//抛异常
System.out.println(list.remove(0));//抛异常
03.第二章:数据结构:
1).各种不同的集合类,采用了不同的“存储数据的方式”,这种存储数据的方式就叫:数据结构。
2).什么是“数据结构”:存储数据的方式;
3).各种不同的数据结构,会影响“增删改查”的性能;
4).常用的数据结构:
1).栈结构:后进先出
2).队列结构:先进先出
3).数组结构:
4).链表结构:
5).二叉树:
04.第三章:List的子类:
1).ArrayList:数组实现:
无特有方法
2).LinkedList:链表实现;
1).有几个特有方法,可以模拟栈和队列;
a).public void push(E e) :压栈。
b).public E pop() :弹栈。
2).示例代码:
public class Demo {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
//压栈
list.push("郭德纲");
list.push("于谦");
list.push("郭麒麟");
list.push("柳岩");
//弹栈