成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

集合之ArrayList的介紹和常用方法

Baoyuan / 2143人閱讀

摘要:把最后一個替換為被替換的元素被替換的元素集合遍歷有種方式使用普通的循環(huán)返回集合中指定位置的元素。使用迭代器使用增強構造一個初始容量為的空列表。按照指定的迭代器所返回的元素順序,將該中的所有元素添加到此列表的尾部。

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) {
    //創(chuàng)建一個List集合對象,多態(tài)
    List 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循環(huán)
    for(int i=0; i 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);

}

/*
ArrayList
ArrayList()

      構造一個初始容量為 10 的空列表。 

ArrayList(Collection c)

      構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。 

ArrayList(int initialCapacity)

      構造一個具有指定初始容量的空列表。 

方法摘要
boolean add(E e)

      將指定的元素添加到此列表的尾部。 

void add(int index, E element)

      將指定的元素插入此列表中的指定位置。 

boolean addAll(Collection c)

      按照指定 collection 的迭代器所返回的元素順序,將該 collection 中的所有元素添加到此列表的尾部。 

boolean addAll(int index, Collection c)

      從指定的位置開始,將指定 collection 中的所有元素插入到此列表中。 

void clear()

      移除此列表中的所有元素。 

Object clone()

      返回此 ArrayList 實例的淺表副本。 

boolean contains(Object o)

      如果此列表中包含指定的元素,則返回 true。 

void ensureCapacity(int minCapacity)

      如有必要,增加此 ArrayList 實例的容量,以確保它至少能夠容納最小容量參數所指定的元素數。 

E get(int index)

      返回此列表中指定位置上的元素。 

int indexOf(Object o)

      返回此列表中首次出現的指定元素的索引,或如果此列表不包含元素,則返回 -1。 

boolean isEmpty()

      如果此列表中沒有元素,則返回 true 

int lastIndexOf(Object o)

      返回此列表中最后一次出現的指定元素的索引,或如果此列表不包含索引,則返回 -1。 

E remove(int index)

      移除此列表中指定位置上的元素。 

boolean remove(Object o)

      移除此列表中首次出現的指定元素(如果存在)。 

protected void removeRange(int fromIndex, int toIndex)

      移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之間的所有元素。 

E set(int index, E element)

      用指定的元素替代此列表中指定位置上的元素。 

int size()

      返回此列表中的元素數。 

Object[] toArray()

      按適當順序(從第一個到最后一個元素)返回包含此列表中所有元素的數組。 

T[]
toArray(T[] a)

      按適當順序(從第一個到最后一個元素)返回包含此列表中所有元素的數組;返回數組的運行時類型是指定數組的運行時類型。 

void trimToSize()

      將此 ArrayList 實例的容量調整為列表的當前大小。 

*/
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://hztianpu.com/yun/105187.html

相關文章

  • java源碼

    摘要:集合源碼解析回歸基礎,集合源碼解析系列,持續(xù)更新和源碼分析與是兩個常用的操作字符串的類。這里我們從源碼看下不同狀態(tài)都是怎么處理的。 Java 集合深入理解:ArrayList 回歸基礎,Java 集合深入理解系列,持續(xù)更新~ JVM 源碼分析之 System.currentTimeMillis 及 nanoTime 原理詳解 JVM 源碼分析之 System.currentTimeMi...

    Freeman 評論0 收藏0
  • 一份送給Java初學者指南

    摘要:編程思想第版這本書要常讀,初學者可以快速概覽,中等程序員可以深入看看,老鳥還可以用之回顧的體系。以下視頻整理自慕課網工程師路徑相關免費課程。 我自己總結的Java學習的系統(tǒng)知識點以及面試問題,目前已經開源,會一直完善下去,歡迎建議和指導歡迎Star: https://github.com/Snailclimb/Java-Guide 筆者建議初學者學習Java的方式:看書+視頻+實踐(初...

    banana_pi 評論0 收藏0
  • JDK源碼那些事兒常用ArrayList

    摘要:前面已經講解集合中的并且也對其中使用的紅黑樹結構做了對應的說明,這次就來看下簡單一些的另一個集合類,也是日常經常使用到的,整體來說,算是比較好理解的集合了,一起來看下前言版本類定義繼承了,實現了,提供對數組隊列的增刪改查操作實現接口,提供隨 前面已經講解集合中的HashMap并且也對其中使用的紅黑樹結構做了對應的說明,這次就來看下簡單一些的另一個集合類,也是日常經常使用到的ArrayL...

    hizengzeng 評論0 收藏0
  • Java究極打基礎ArrayList

    摘要:將之前第位置的元素置空,返回被刪除的元素。平常常用的迭代器方法就是判斷當前索引是否等于。最重要的是會更新,此時調用了父類的方法,會使,所以更新了,讓后續(xù)的檢查不會拋異常。 本篇主要介紹ArrayList的用法和源碼分析,基于jdk1.8,先從List接口開始。 List List接口定義了如下方法: int size(); boolean isEmpty(); boolean con...

    DevTalking 評論0 收藏0
  • 一文掌握關于Java數據結構所有知識點(歡迎一起完善)

    摘要:是棧,它繼承于。滿二叉樹除了葉結點外每一個結點都有左右子葉且葉子結點都處在最底層的二叉樹。沒有鍵值相等的節(jié)點。這是數據庫選用樹的最主要原因。 在我們學習Java的時候,很多人會面臨我不知道繼續(xù)學什么或者面試會問什么的尷尬情況(我本人之前就很迷茫)。所以,我決定通過這個開源平臺來幫助一些有需要的人,通過下面的內容,你會掌握系統(tǒng)的Java學習以及面試的相關知識。本來是想通過Gitbook的...

    keithxiaoy 評論0 收藏0

發(fā)表評論

0條評論

Baoyuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<