Java基礎學習-Collection

来源:https://www.cnblogs.com/bai-boy/archive/2019/01/21/10300934.html
-Advertisement-
Play Games

package Collection; import java.util.ArrayList; import java.util.Scanner; /*集合類的特點: * 大小可變 * * ArrayList實現: * 大小可變數組的實現 * * * 這是泛型 * 怎麼用 * 在出現的地方可以使用引... ...


package Collection;

import java.util.ArrayList;
import java.util.Scanner;

/*集合類的特點:
 * 大小可變
 * 
 * ArrayList實現:
 * 大小可變數組的實現
 * 
 * 
 * <E>這是泛型
 *       怎麼用
 *         在出現<E>的地方可以使用引用遍歷替換
 *       
 * java.util 
 * 類 ArrayList<E>
 * 從類 java.util.AbstractList 繼承的方法
 * 從類 java.util.AbstractCollection 繼承的方法
 * 從類 java.lang.Object 繼承的方法
 * 從介面 java.util.List 繼承的方法
 
 
  構造方法:
  ArrayList() 
   構造一個初始容量為 10 的空列表。 
  ArrayList(Collection<? extends E> c) 
   構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。 
  ArrayList(int initialCapacity) 
    構造一個具有指定初始容量的空列表。
    
   方法:
     boolean add(E e) 
                 將指定的元素添加到此列表的尾部。 
     void add(int index, E element) 
              將指定的元素插入此列表中的指定位置。 
     boolean addAll(Collection<? extends E> c) 
              按照指定 collection 的迭代器所返回的元素順序,將該 collection 中的所有元素添加到此列表的尾部。 
     boolean addAll(int index, Collection<? extends E> 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> T[] 
     toArray(T[] a) 
              按適當順序(從第一個到最後一個元素)返回包含此列表中所有元素的數組;返回數組的運行時類型是指定數組的運行時類型。 
     void trimToSize() 
              將此 ArrayList 實例的容量調整為列表的當前大小。 

 */
public class Array_list {
    public static void main(String[] args) {
        ArrayList<String> array=new ArrayList<String>();
        array.add("Demo");
        /*add();*/
        /*get(array);*/
        /*array.size();獲取list中元素長度(個數)*/
        /*remove(array);*/
        /*數組的遍歷 size get traverse(array) 同時配合實現*/
        /*test1():
         *         給定一個字元串數組:{"zsf","syq","zwj","ylt","zcs","msg"}
         *         將元素添加到集合,並且列印出來*/
        
        
    }

    public static void test1() {
        String [] a={"zsf","syq","zwj","ylt","zcs","msg"};
        ArrayList<String> arraylist=new ArrayList<String>();
        for (int i = 0; i < a.length; i++) {
            arraylist.add(a[i]);
        }
        for (int i = 0; i < arraylist.size(); i++) {
            String s=arraylist.get(i);
            System.out.println(s);
        }
    }

    public static void traverse(ArrayList<String> array) {
        array.add("name");
        
        for (int i = 0; i < array.size(); i++) {
            String s=array.get(i);
            System.out.println(s);
        }
    }

    public static void remove(ArrayList<String> array) {
        System.out.println(array.remove("Demo"));/*返回是否成功刪除元素*/
        /*刪除指定元素*/
        array.add("Demo");
        /*刪除指定索引元素*/
        System.out.println(array);
        System.out.println(array.remove(0));/*返回刪除的元素*/
        System.out.println(array);
    }

    public static void get(ArrayList<String> array) {
        array.add("xiaobai");
        System.out.println(array.get(0));
    }

    public static void add(ArrayList<String> array) {
        /*添加元素
         * boolean add(E e) 
                   將指定的元素添加到此列表的尾部。 
            void add(int index, E element) 
                將指定的元素插入此列表中的指定位置。
        */
        System.out.println("array:"+array);
        array.add("xiaobai");
        System.out.println("array:"+array);
        array.add(0, "hello");
        System.out.println("array:"+array);
        array.add(0, "hi");
        System.out.println("array:"+array);
    }
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 剛剛開始學習PHP時,一直使用phpstudy,後面發現很多東西自己單獨配置安裝會理解更深刻,所以自己總結了一下windows下開發環境的部署教程。 以前經常在CSDN和博客園看別人的教程,今天才註冊博客園帳號,開通博客功能,第一次在網上分享自己的經驗,寫的不好的地方歡迎大家指正。 安裝Nginx ...
  • 文件操作 文件操作也是編程中需要熟練掌握的技能,尤其是在後臺介面編寫和數據分析過程中,對各種類型的文件進行操作,獲取文件信息或者對信息進行存儲是十分重要的。本篇博客中將主要對常見的文本格式文件和Excel文件的相關操作進行介紹。 一、文本文件 1.1 文件操作流程 1、打開文件,獲得文件句柄,並賦值 ...
  • 一、IOC概念 上一篇已經瞭解了spring的相關概念,並且創建了一個spring項目。spring中有最重要的兩個概念:IOC和AOP,我們先從IOC入手。 IOC全稱Inversion of Control,中文通常翻譯為“控制反轉”,這其實不是一種技術,而是一種思想。 簡單理解就是把原先我們代 ...
  • 棧:後進先出;最後一個放入堆棧中的物體總是被最先拿出來。 使用鏈表來模擬棧的入棧出棧操作。 1.節點類代碼 2.節點的入棧出棧方法代碼 3.測試類代碼 4.測試結果 ...
  • JVM的邏輯記憶體模型圖 [邏輯記憶體模型圖] JVM內部分區 其實JVM內部不僅僅只有棧和堆 包括 程式計數器 、 Java 虛擬機棧 、本地方法棧、Java 堆、方法區等 1. 程式計數器 線程私有,較小的記憶體空間,如果線程正在執行的是一個Java 方法,這個計數器記錄的是正在執行的虛擬機位元組 碼指 ...
  • 1.1 變數的命名和使用規範 變數名可以包含數字、字母、下劃線,但是不能以數字開頭。 變數名不能包含空格,可使用下劃線來分割其中的單詞。 不要將Python關鍵字和函數名用作變數名。 變數名應既簡短又具有描述性。 慎用小寫字母l和o,因為他們可能被錯看成數字1和0 儘量使用小寫的python變數名 ...
  • 1、ROI 操作 結果: 2、均值模糊 結果: ...
  • ConcurrentHashMap和Hashtable都是線程安全的K-V型容器。本篇從源碼入手,簡要說明它們兩者的實現原理和區別。 與HashMap類似,ConcurrentHashMap底層也是以數組+鏈表+紅黑樹實現的,以Node節點封裝K-V和hash。 val和next以volatile關 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...