我们来研究List系列的集合 List相较于set 优势在于:
1.有序的 2.有索引的 3.可重复的 这里最关键的是2.有索引的:因为这点我们可以做更多拓展性的操作
List是Collection中的一种 Collection中的方法List都继承了
索引拓展出的方法 是
add(索引位置,元素)增
remove(索引位置):删除指定索引处的元素
set(索引位置,元素)修改指定索引上的元素
get(索引位置)获得索引上的元素
import java.util.ArrayList;
import java.util.List;public class Main{public static void main(String[] args){//我们来研究List系列的集合 List相较于set 优势在于://1.有序的 2.有索引的 3.可重复的 这里最关键的是2.有索引的:因为这点我们可以做更多拓展性的操作//List是Collection中的一种 Collection中的方法List都继承了//索引拓展出的方法 是// add(索引位置,元素)增// remove(索引位置):删除指定索引处的元素// set(索引位置,元素)修改指定索引上的元素// get(索引位置)获得索引上的元素//1.创建一个集合List<String> list = new ArrayList<>();//list是一个接口 我们不能创建接口的对象list.add("aaa");list.add("bbb");list.add("ccc");//2.这个1索引实际上是第二个位置 原先在1索引的元素被放置在了2索引list.add(1,"qqq");//3.按照索引删除会返回元素/*我们在这里会遇到一个问题:倘若List中存在一个“1”元素 而其索引是2我在remove中删除岂不是很难区分?我们这里引入一个新的概念->装箱//方法在调用时 会优先调用实参和形参一致的那个方法*/Integer i = Integer.valueOf(1);list.remove(i);list.remove(1);//3.修改索引上的元素 使用setlist.set(0,"qqq");//4.get方法 通过索引获取集合上的元素System.out.println(list.get(0));//按照内容删除会返回布尔值System.out.println(list.remove("qqq"));System.out.println(list);}
}