package JiHe.List; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; /* java.util.list接口 extends Collection接口 List接口的特点: 1. 有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123) 2. 有索引,包含了一些带索引的方法 3. 允许储存重复的元素 List接口中带索引的方法【特有】 public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上 public E get(int index): 返回集合中指定位置的元素 public E remove(int index): 移除列表中指定位置的元素,返回的是被移除的元素 public E set(int index, E element): 用指定元素替换集合中指定位置的元素,返回值是更新前的元素 注意: 操作索引的时候,一定要防止索引越界异常 IndexOutOfBoundsException:索引越界异常,集合会报错 ArrayIndexOutOfBoundsException:数组索引异常 StringIndexOutOfBoundsException:字符串索引越界异常 */ public class Demo01List { public static void main(String[] args) { //创建一个List集合对象,多态 List<String> list = new ArrayList<>(); //使用add方法往集合中添加元素 list.add("AAA"); list.add("BBB"); list.add("CCC"); list.add("DDD"); //打印集合 System.out.println(list); // [AAA, BBB, CCC, DDD] 不是地址重写了toString方法 //在BBB和CCC之间添加一个学生 list.add(2,"学生"); // 索引 起始位是0,所有在CCC对应的位置就是 2 System.out.println(list); // [AAA, BBB, 学生, CCC, DDD] //public E remove(int index): 移除列表中指定位置的元素,返回的是被移除的元素 String remove = list.remove(3); System.out.println("被移除的元素是:" + remove); System.out.println(list); //public E set(int index, E element): 用指定元素替换集合中指定位置的元素,返回值是更新前的元素 //把最后的DDD,替换为:放学 String setE = list.set(3, "放学"); System.out.println("替换的元素是:" + setE); System.out.println(list); // //public E get(int index): 返回集合中指定位置的元素 // String s = list.get(5); // System.out.println(s); //List集合遍历有3种方式 //使用普通的for循环 System.out.print("普通的for循环:"); for (int i = 0; i < list.size(); i++) { String s = list.get(i); System.out.print(s + " "); } System.out.println(""); // 换行 System.out.println("============================================="); //迭代器遍历 System.out.print("迭代器遍历:"); Iterator<String> it = list.iterator(); while (it.hasNext()){ String s = it.next(); System.out.print(s + " "); } System.out.println(""); // 换行 System.out.println("============================================="); //增强for循环遍历 System.out.print("增强for循环遍历:"); for (String s : list) { System.out.print(s + " "); } } }[AAA, BBB, CCC, DDD]
[AAA, BBB, 学生, CCC, DDD]
被移除的元素是:CCC
[AAA, BBB, 学生, DDD]
替换的元素是:DDD
[AAA, BBB, 学生, 放学]
普通的for循环:AAA BBB 学生 放学
=============================================
迭代器遍历:AAA BBB 学生 放学
=============================================
增强for循环遍历:AAA BBB 学生 放学