★List接口特点:
1.元素存储有序的集合
2.带索引的集合
3.集合中可以有重复的元素
4.常用的子类有ArrayList , LinkedList
★List接口的方法:add , remove() , set(int index,Object e) , get()
1.add:将元素插入到指定的索引上
//1将元素插入到指定的索引上 public static void fun1(){ List<String> s = new ArrayList<String>(); s.add("a"); s.add("a1"); s.add("a2"); System.out.println(s); s.add(1,"asjkdk"); System.out.println(s); }
2.remove:将指定索引上的元素移除
// 2移除 指定索引上的元素 remove() 返回的是被删除的元素 public static void fun2(){ List<String> s = new ArrayList<String>(); s.add("a"); s.add("a1"); s.add("a2"); String se = s.remove(0);
//返回被删除的元素 System.out.println(se); System.out.println(s); }
3.set(int index,Object e):修改指定索引上的元素
//3 修改指定索引上的元素 返回值是 被修改前的元素 public static void fun3(){ List<String> s = new ArrayList<String>(); s.add("a"); s.add("a1"); s.add("a2"); String s1 = s.set(0, "我aijava");
//返回被修改前的元素 System.out.println(s1+" s1"); System.out.println(s); }
★LinkedList类
特点:1. 底层采用的是链式结构 每次查询都是从头或者尾部开始查找 查询相对较慢
2.特有的方法removeFirst,removeLast
方法:
1.addLast在集合后面添加,addFirst在集合前面添加
public static void fun1(){ LinkedList<String> link = new LinkedList<String>(); link.addLast("猪猪侠"); link.addLast("佩琪"); link.addFirst("乔治"); link.addFirst("小呆呆");
//迭代器 Iterator<String> it = link.iterator();
//判断是否有下一个元素 while(it.hasNext()){ String e = it.next(); System.out.println(e); }
2.getFirst(); 得到集合第一个元素,getLast();得到集合最后一个元素
// 2getFirst(); getLast(); 先判断集合是否为空后 在进行循环或者获得操作 public static void fun2(){ LinkedList<String> link = new LinkedList<String>(); // link.add("李白"); // link.add("韩信"); // link.add("赵云"); // String first2 = link.getFirst(); // System.out.println(first2); if(!link.isEmpty()) {//判断是否为空 String first = link.getFirst(); System.out.println(first); } }
3.removeFirst删除前面的元素,removeLast删除后面的元素
//3remove 删除功能 public static void fun3(){ LinkedList<String> link = new LinkedList<String>(); link.add("每当我听到雨声"); link.add("就像听到了心中的迷茫"); link.removeFirst(); System.out.println(link); }