zoukankan      html  css  js  c++  java
  • List集合

    01_List集合_介绍&常用方法

     

     Demo01List.java

    package com.itheima.demo01.List;

    import java.util.ArrayList;
    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("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("a");
    //打印集合
    System.out.println(list);//[a, b, c, d, a] 不是地址重写了toString

    //public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。
    //在c和d之间添加一个itheima
    list.add(3,"itheima");//[a, b, c, itheima, d, a]
    System.out.println(list);

    //public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
    //移除元素
    String removeE = list.remove(2);
    System.out.println("被移除的元素:"+removeE);//被移除的元素:c
    System.out.println(list);//[a, b, itheima, d, a]

    //public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
    //把最后一个a,替换为A
    String setE = list.set(4, "A");
    System.out.println("被替换的元素:"+setE);//被替换的元素:a
    System.out.println(list);//[a, b, itheima, d, A]

    //List集合遍历有3种方式
    //使用普通的for循环
    for(int i=0; i<list.size(); i++){
    //public E get(int index):返回集合中指定位置的元素。
    String s = list.get(i);
    System.out.println(s);
    }
    System.out.println("-----------------");
    //使用迭代器
    Iterator<String> it = list.iterator();
    while(it.hasNext()){
    String s = it.next();
    System.out.println(s);
    }
    System.out.println("-----------------");
    //使用增强for
    for (String s : list) {
    System.out.println(s);
    }

    String r = list.get(5);//IndexOutOfBoundsException: Index 5 out-of-bounds for length 5
    System.out.println(r);

    }
    }

    =======================================================================================================

    02_Arraylist集合

     =========================================================================================================================

    03_LinkedList集合

     

     Demo02LinkedList.java

    package com.itheima.demo01.List;

    import java.util.LinkedList;

    /*
    java.util.LinkedList集合 implements List接口
    LinkedList集合的特点:
    1.底层是一个链表结构:查询慢,增删快
    2.里边包含了大量操作首尾元素的方法
    注意:使用LinkedList集合特有的方法,不能使用多态

    - public void addFirst(E e):将指定元素插入此列表的开头。
    - public void addLast(E e):将指定元素添加到此列表的结尾。
    - public void push(E e):将元素推入此列表所表示的堆栈。

    - public E getFirst():返回此列表的第一个元素。
    - public E getLast():返回此列表的最后一个元素。

    - public E removeFirst():移除并返回此列表的第一个元素。
    - public E removeLast():移除并返回此列表的最后一个元素。
    - public E pop():从此列表所表示的堆栈处弹出一个元素。

    - public boolean isEmpty():如果列表不包含元素,则返回true。

    */
    public class Demo02LinkedList {
    public static void main(String[] args) {
    show03();
    }

    /*
    - public E removeFirst():移除并返回此列表的第一个元素。
    - public E removeLast():移除并返回此列表的最后一个元素。
    - public E pop():从此列表所表示的堆栈处弹出一个元素。此方法相当于 removeFirst
    */
    private static void show03() {
    //创建LinkedList集合对象
    LinkedList<String> linked = new LinkedList<>();
    //使用add方法往集合中添加元素
    linked.add("a");
    linked.add("b");
    linked.add("c");
    System.out.println(linked);//[a, b, c]

    //String first = linked.removeFirst();
    String first = linked.pop();
    System.out.println("被移除的第一个元素:"+first);
    String last = linked.removeLast();
    System.out.println("被移除的最后一个元素:"+last);
    System.out.println(linked);//[b]
    }

    /*
    - public E getFirst():返回此列表的第一个元素。
    - public E getLast():返回此列表的最后一个元素。
    */
    private static void show02() {
    //创建LinkedList集合对象
    LinkedList<String> linked = new LinkedList<>();
    //使用add方法往集合中添加元素
    linked.add("a");
    linked.add("b");
    linked.add("c");

    //linked.clear();//清空集合中的元素 在获取集合中的元素会抛出NoSuchElementException

    //public boolean isEmpty():如果列表不包含元素,则返回true
    if(!linked.isEmpty()){
    String first = linked.getFirst();
    System.out.println(first);//a
    String last = linked.getLast();
    System.out.println(last);//c
    }
    }

    /*
    - public void addFirst(E e):将指定元素插入此列表的开头。
    - public void addLast(E e):将指定元素添加到此列表的结尾。
    - public void push(E e):将元素推入此列表所表示的堆栈。此方法等效于 addFirst(E)。
    */
    private static void show01() {
    //创建LinkedList集合对象
    LinkedList<String> linked = new LinkedList<>();
    //使用add方法往集合中添加元素
    linked.add("a");
    linked.add("b");
    linked.add("c");
    System.out.println(linked);//[a, b, c]

    //public void addFirst(E e):将指定元素插入此列表的开头。
    //linked.addFirst("www");
    linked.push("www");
    System.out.println(linked);//[www, a, b, c]

    //public void addLast(E e):将指定元素添加到此列表的结尾。此方法等效于 add()
    linked.addLast("com");
    System.out.println(linked);//[www, a, b, c, com]
    }
    }

    ==============================================================================================

    04_Vector集合

  • 相关阅读:
    使用 yo 命令行向导给 SAP UI5 应用添加一个新的视图
    SAP Fiori Elements 应用的 manifest.json 文件运行时如何被解析的
    SAP UI5 标准应用的多语言支持
    微软 Excel 365 里如何设置下拉菜单和自动高亮成指定颜色
    SAP Fiori Elements 应用里的 Title 显示的内容是从哪里来的
    本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?
    如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
    教你一招:让集群慢节点无处可藏
    应用架构步入“无服务器”时代 Serverless技术迎来新发展
    MySQL数据库事务隔离性的实现
  • 原文地址:https://www.cnblogs.com/curedfisher/p/12427485.html
Copyright © 2011-2022 走看看