Java(集合③)
本帖最后由 二饭 于 2020-4-11 14:31 编辑回来把集合基础贴写完。
List集合Java.utli.List接口 extends Collection接口
List接口的特点:
1、有序的集合,存储的元素和去除的元素顺序是一致的; 2、有索引,包含了一些带有索引的方法; 3、允许存储重复元素;
List接口中带有索引的方法(特有)
void add(int index, E element):在列表的指定位置插入指定元素。
E get(int index):返回列表中指定位置的元素。
E remove(int index):移除列表中指定位置的元素。
E set(int index, E element):用指定元素替换列表中指定位置的元素。
代码:
List<String> list=new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list);
list.add(2,"x");//在列表的指定位置插入指定元素。
String s = list.get(2);//返回列表中指定位置的元素
System.out.println(s);
String remove = list.remove(3);//移除列表中指定位置的元素
System.out.println(remove);
String z = list.set(1, "z");//用指定元素替换列表中指定位置的元素
System.out.println(z);
System.out.println(list);
执行结果:
x
c
b
注意:在操作索引的时候,一定要防止索引的异常 ArrayIndexOutOfBoundsException:数组索引越界异常 IndexOutOfBoundsException:索引越界异常,集合
ArrayList集合:存储的结构是数组结构,元素增删慢,查询快一般用于:查询数据,遍历数据
LinkedList集合:数据存储的结构是链表结构,方便元素添加,删除
特点:
1、底层是链表;
2、里边包含了大量的首尾元素方法;
注意:
使用LinkedList集合特有方法,不能使用多态;
常用方法:
void addFirst(E e):将指定元素插入此列表的开头;
void addLast(E e):将指定元素添加到此列表的结尾;
E getFirst():返回此列表的第一个元素;
E getLast():返回此列表的最后一个元素;
void push(E e):将元素推入此列表所表示的堆栈;
E removeFirst():移除并返回此列表的第一个元素;
E removeLast():移除并返回此列表的最后一个元素;
E pop():从此列表所表示的堆栈处弹出一个元素。
代码:
LinkedList<String> list=new LinkedList<>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list);
list.addFirst("x");//将指定元素插入此列表的开头
list.addLast("z");//将指定元素添加到此列表的结尾
System.out.println(list);
String first = list.getFirst();//返回此列表的第一个元素
System.out.println(first);
String last = list.getLast();//返回此列表的最后一个元素
System.out.println(last);
list.push("a");//等效与addFirst(E e)
System.out.println(list);
String s = list.removeFirst();//移除并返回此列表的第一个元素
System.out.println(s);
String s1 = list.removeLast();//移除并返回此列表的最后一个元素
System.out.println(s1);
String pop = list.pop();//等效于removeFirst()
System.out.println(pop);
System.out.println(list);
emmm,这个编辑器,我头要炸了,格式太难弄了,不太习惯{:1_908:} {:1_921:}{:1_921:}{:1_921:}狠厉还了。我都忘记当时学的什么了。 编辑器我用sublime text KSTG_茶飘香 发表于 2020-4-11 14:36
狠厉还了。我都忘记当时学的什么了。
写一写 顺便能回忆一下 应该更加深入一点从底层源码说明差异点 这样可能更加立体
页:
[1]