一:list集合
public class Demo03List {
/*
* list接口的特点:
* 1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)
* 2.有索引,包含了一些带索引的方法
* 3.允许存储重复的元素
*
* list接口中带索引的方法(特有)
* -public void add(int index,E element);将指定的元素,添加到该集合中的指定位置上
* -public E get(int index);返回集合中指定位置的元素;
* -public E set(int index,E element):用指定元素替换集合中指定的元素,返回值得更新的元素
* 注意:
* 操作索引的时候,一定繁殖索引越界异常
* IndexOutOfBoundsException:索引越界异常,集合汇报
*
*
* */
public static void main(String[] args) {
//创建list集合对象
List<String> list = new ArrayList<>();
//使用add方法往集合中添加元素
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("f");
//打印
System.out.println(list);
//添加
list.add(3,"itheima");
System.out.println(list);
//list集合遍历循环
//使用普通的for循环
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);
}
System.out.println("=====");
//使用增强for
Iterator<String> it = list.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
//使用增强for
for(String s : list){
System.out.println(s);
}
String a = list.get(4);//IndexOutOfBoundsException
System.out.println(a);
}
}
二:List的子类
1.ArrayList集合
java.util.arrayList集合数据存储的结构是数据结构,元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据,遍历数据,所以Arrarlist是最常用的集合;
2.LinkedList集合
java.util.LinkList集合数据存储的结构是链表结构,方便元素添加,删除的集合
public class Demo04LinkList {
public static void main(String[] args) {
show01();
}
private static void show01() {
// public void addFirst(E e);将指定元素插入次列表的开头;
// public void addLast(E e);将指定元素添加到列表结尾;
// public void push(E e);将元素推入此列表所表示的堆栈
LinkedList<String> links = new LinkedList<>();
links.add("a");
links.add("b");
links.add("d");
links.add("c");
System.out.println(links);
links.addFirst("e");
System.out.println(links);
links.addLast("rr");
String first = links.getFirst();
System.out.println(first);
String last = links.getLast();
System.out.println(last);
}
}
3.hashset集合对象