zoukankan      html  css  js  c++  java
  • 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);    
          }
    }
    
    文章未经本人允许,禁止转载。 有技术问题,可加好友讨论。 联系方式:QQ:MjgxMjMxODAzNQ== 微信:bzNycjByLVhpYW9taW5n
  • 相关阅读:
    BootStrap 模态框禁用空白处点击关闭
    【云计算】使用nsenter进入Docker容器进行调试
    【架构】Nginx如何设置X-Request-ID请求头,记录请求时间:毫秒?
    【架构】微服务系列文章
    【云计算】OpenStack项目全面介绍
    【云计算】CloudFoundry参考资料
    【云计算】OpenShift容器服务参考
    【Web】Django OAuth invalid_grant error
    【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读
    【云计算】OpenStack Horizon DashBoard定制化,完整实现前后台交互
  • 原文地址:https://www.cnblogs.com/Xiaoming0/p/13871662.html
Copyright © 2011-2022 走看看