261/262Arraylist集合和LinkedList集合.
ArrayList集合
java.util.ArrayList-集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
许多程序员开发时非常随意地使用ArrayList完成任何需求,并不严谨,这种用法是不提倡的。
Java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。ArrayList中可不断添加元素,其大小也自动增长。
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
System.out.println(list);
//向集合中添加元素
boolean success=list.add("梁志超");
System.out.println(list);
System.out.println("添加的动作是否成功:"+success);
list.add("1梁志超");
list.add("2梁志超");
list.add("3梁志超");
list.add("4梁志超");
System.out.println(list);
//从集合中获取元素,get,索引值从0开始
String name = list.get(0);
System.out.println("索引位置:"+name);
//从集合中删除元素,remove,索引值从0开始
String removeName = list.remove(2);
System.out.println("删除的是:"+removeName);
System.out.println(list);
int size = list.size();
System.out.println("集合的长度是:"+size);
}
public class ArrayListDemo1 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("乐迪");
list.add("梁志超");
list.add("卢本伟");
list.add("哈嗨");
//public E get(int index) 返回指定索引处的元素
String e=list.get(2);
System.out.println(e);
//public int size() 返回集合中的元素的个数
int c=list.size();
System.out.println(c);
//完成集合的遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//public E remove(int index) 删除指定索引处的元素,返回被删除的元素
System.out.println(list);
String e1= list.remove(2);
System.out.println(e1);
System.out.println(list);
//public boolean remove(Object o) 删除指定的元素,返回删除是否成功
System.out.println(list.remove("哈嗨"));
System.out.println(list);
//public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
String e3=list.set(0,"乐迪");
System.out.println(e3);
}
}
LinkedList集合
java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。
/*
LinkedList集合的特点:
底层是一个链表结构:查询慢,增删快2.里边包含了大量操作首尾元素的方法
注意:使用Linkedlist集合特有的方法,不能使用多态
- public void addFirst(E e):将指定元素插入此列表的开头。
- public void addLast(E e):将指定元素添加到此列表的结尾。
- public void push(E e):将元素推入此列表所表示的堆栈。
- public E getFirst():返回此列表的第一个元素。
- public E getlast():返回此列表的最后一个元素。
- public E removeFirst():移除并返回此列表的第一个元素。
- public E removeLast():移除并返回此列表的最后一个元素。
- public E pop( ):从此列表所表示的堆栈处弹出一个元素。
- public boolean isEmpty( ):如果列表不包含元素,则返回true。
*/
public static void main(String[] args) {
show1();
show2();
show3();
}
private static void show1() {
//创建LinkedList集合对象
LinkedList<String> linked = new LinkedList<>();//使用add方法往集合中添加元素
linked.add("aaa");
linked.add("bbb");
linked.add("ccc");
System.out.println(linked);
// public void addFirst(E e):将指定元素插入此列表的开头。l/ /
linked.addFirst("wwwv");
linked.push("www");
System.out.println(linked);
//public void addLast(E e):将指定元素添加到此列表的结尾。此方法等效于add()
linked.addLast("com");
System.out.println(linked);
}
private static void show2() {
//创建Linkedlist集合对象
LinkedList<String> linked = new LinkedList<>();
//使用add方法往集合中添加元素
linked.add("aaa");
linked.add("bbb");
linked.add("ccc");
//linked.clear();//清空集合中的元素在获取集合中的元素会抛出NoSuchELementException
// public boolean isEmpty():如果列表不包含元素,则返回true。
if (!linked.isEmpty()) {
String first = linked.getFirst();
System.out.println(first);
String last = linked.getLast();
System.out.println(last);
}
}
private static void show3() {
//创建Linkedlist集合对象
LinkedList<String> linked = new LinkedList<>();
//使用add方法往集合中添加元素
linked.add("aaa");
linked.add("bbb");
linked.add("ccc");
System.out.println(linked);
//String first =linked.removeFirst( );
String first = linked.pop();
System.out.println("移除的第一个元素:" + first);
String last = linked.removeLast();
System.out.println("移除的最后一个元素: " + last);
System.out.println(linked);
public class Main {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
//添加元素
list.add("aaa");
list.add("bbb");
list.add("ccc");
System.out.println(list);
list.addFirst("w");
System.out.println(list);
//添加尾元素
list.addLast("卢本伟");
System.out.println(list);
//删除元素
String s=list.remove(2);
System.out.println("删除的元素为: "+s);
//删除首元素
s=list.removeFirst();
System.out.println("删除的元素为: "+s);
//删除尾元素
s=list.removeLast();
System.out.println("删除的元素为: "+s);
//获取首元素
s=list.getFirst();
System.out.println("获取的元素为: "+s);
//获取尾元素
s=list.getLast();
System.out.println("获取的元素为: "+s);
//获取集合元素数目
int num=list.size();
System.out.println("集合元素数目为:"+num);
//pop
s=list.pop();
System.out.println("pop: "+s);
//pop
list.push("start");
System.out.println(list);
//遍历集合
for(String a:list)
System.out.print(a+" ");
System.out.println();
}
}