java学习笔记(day24)

0x00 List集合

java.util.List接口 extends Collection接口

list接口的特点:

  1. 有序的集合
  2. 允许存储重复的元素
  3. 有索引,包含了一些带索引的方法

1.list接口中带索引的方法(特有)

  1. public void add(int index,E elment):将指定的元素,添加到该集合中的指定位置上。
  2. public E get(int index):返回集合中指定位置的元素。
  3. public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
  4. public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

注意:操作索引的时候,一定要防止索引越界异常

代码演示:

package day24;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListDemo01 {    
      public static void main(String[] args) {        
            // 创建一个list集合对象,多态        
            List<String> list = new ArrayList<>();        
            //使用add方法往集合中添加元素        
            list.add("e");        
            list.add("r");        
            list.add("r");        
            list.add("o");        
            list.add("r");        
            //打印集合        
            System.out.println(list);        
            //在r和o之间添加一个元素        
            list.add(3,"b");        
            System.out.println(list);        
            //把刚添加的b删除        
            String removeB = list.remove(3);        
            System.out.println(removeB);        
            System.out.println(list);        
            //用指定元素替换集合中指定位置的元素        
            String setR = list.set(4,"R");        
            System.out.println(setR);        
            System.out.println(list);        
            //list集合遍历有三种方式        
            //使用普通的for循环        
            for (int i = 0; i < list.size(); i++) {            
                  String s = list.get(i);            
                  System.out.print(s);        
            }        
            //使用迭代器        
            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);        
            }    
      }
}

2.list集合的实现类

1. ArrayList集合数据存储的结构是数组结构,元素增删慢,查找快,犹豫日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
2. LinkdeList集合 implements List接口特点:1.底层是一个边聊结构:查询慢,增删快;2.里面包含了大量操作首尾元素的方法。

注意:使用linkedList集合特有的方法,不能使用多态。

方法

  1. public void addFirst(E e):将指定元素插入此列表的开头。
  2. public void addLast(E e):将制定元素添加到此列表的结尾。
  3. public void push(E e):将元素推入此列表所表示的堆栈。
  4. public E getFirst():返回此列表的第一个元素。
  5. public E getLast():返回次列表的最后一个元素。
  6. public E removeFirst():移除并返回此列表的第一个元素。
  7. public E removeLast():移除并返回次列表的最后一个元素。
  8. public E pop():从此列表所表示的堆栈处探出一个元素。
  9. public boolean isEmpty():如果列表不包含元素,则返回true。

如果集合中的元素为空,在获取集合中的元素会抛出异常。

代码演示:

package day24;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.util.LinkedList;
public class LinkedListDemo02 {    
      public static void main(String[] args) { 
            show01();
            show02();
            show03();
      }    
      private static void show01(){        
            //创建linkedlist集合对象        
            LinkedList<String> linked = new LinkedList<>();        
            //使用add方法往集合中添加元素        
            linked.add("a");        
            linked.add("b");        
            linked.add("c");        
            linked.add("d");        
            System.out.println(linked);        
            //将指定元素插入此列表的开头。        
            linked.push("www");        
            // linked.addFirst("www");        
            System.out.println(linked);        
            //将指定元素添加到此列表的结尾        
            linked.addLast("com");        
            System.out.println(linked);    
      }    
      private static void show02(){        
            LinkedList<String> linked = new LinkedList<>();        
            linked.add("a");        
            linked.add("b");        
            linked.add("c");        
            //获取第一个元素        
            String first = linked.getFirst();        
            System.out.println(first);        
            //获取最后一个元素        
            String last = linked.getLast();        
            System.out.println(last);    
      }    
      private static void show03(){        
            LinkedList<String> linked = new LinkedList<>();        
            linked.add("a");        
            linked.add("b");        
            linked.add("c");        
            //删除第一个元素        
            String first = linked.removeFirst();        
            System.out.println(first);        
            System.out.println(linked);        
            //删除最后一个元素        
            String last = linked.removeLast();        
            System.out.println(last);        
            System.out.println(linked);    
      }
}
posted @ 2020-10-24 23:45  小明-o3rr0r  阅读(81)  评论(0编辑  收藏  举报