阿花寶寶 Java基礎筆記 之 集合框架

来源:http://www.cnblogs.com/ECS666666/archive/2016/03/31/5339722.html
-Advertisement-
Play Games

基本介面:Collection 介面: List 實現類:ArrayList LinkedList 介面:Set(唯一,無序) 實現類:HashSet(哈希) TreeSetMap介面:Map 實現類:HashMap ArrayList類特點:長度可變,連續空間,任意類型,類型相同適用情況:適合多次 ...


基本介面:Collection
  介面: List
  實現類:ArrayList LinkedList
  介面:Set(唯一,無序)
  實現類:HashSet(哈希) TreeSet
Map介面:Map
  實現類:HashMap
----------------------------------------------------------------------
ArrayList類
特點:長度可變,連續空間,任意類型,類型相同
適用情況:適合多次遍歷集合
方法:
boolean  add(Object o)            在集合末尾添加元素
void     add(int index,Object o)  在指定位置添加元素
int      size()                   返回集合中元素個數
Object   get(int index)           根據位置返回集合元素
---------------------------------------------------------------------------
LinkedList類
特點:鏈表形式
使用情況:插入 刪除 效率高
方法:
void     addFirst();            在集合首部添加一個元素
void     addLast();             在集合末尾添加一個元素
Object   getFirst();            獲取第一個元素
Object   getLast();         獲取最後一個元素
Object   removeFirst();         移除並返回第一個元素
Object   removeLast();          移除並返回最後一個元素
--------------------------------------------------------------------------------
HashSet類
特點:唯一,無序,可以存放null
使用情況:不知道數據索引的情況的使用
方法:
boolean  add(Object o)         如果此Set中沒有指定元素,則在集合添加元素
-------------------------------------------------------------------------------
Iterator介面(迭代器)
特點:實現各種集合遍歷操作
獲取方法:使用集合類對象調用iterator()方法 返回Iterator對象
Iterator it=list.iterator();
方法:
boolean  hasNext()             判斷是否存在下一個可訪問的元素,如果有,則true
Object   next()                返回要訪問的下一個元素
-------------------------------------------------------------------------------
HashMap類
特點:存儲一組成對的鍵(key)值(value)對象,key不允許重覆
適用情況:有對應關係的時候可以用
方法:
Object      put(Object key,Object value) 將key與value放入集合
Object      get(Object key)          獲取與key相關的value 
Set         keySet()                     獲取所有key的集合
Collection  values()           獲取所有value的集合
boolean     containsKey(Object key)      判斷集合中是否存在key
boolean     containsValue(Object value)  判斷集合中是否存在value  
--------------------------------------------------------------------------------
Collections操作類
特點:可以對集合進行排序,查找和替換等。
Collections.sort(集合);                             升序排序
Collections.binarySearch(集合,集合內某一個元素);    元素查找
Collections.fill(集合,用來替換的新元素);            替換元素
-------------------------------------------------------------------------
泛型
語法:集合類型<實際類型> 集合對象=new 集合類型<實際類型>();
註意點:
1.使用list.get()方法時返回的是Object類型,需要強制類型轉換為對應的數據類型
2.Set介面不存在get()方法


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

-Advertisement-
Play Games
更多相關文章
  • 本文章向大家介紹java如何實現判斷時間是否為下午或上午,感興趣的碼農可以參考一下,請看下麵代碼: 原文地址:http://www.manongjc.com/article/536.html 其他文章: d3.js畫矢量圖+可拖拽的實現思路 ZXing 二維碼解析生成工具類 java貪食蛇源代碼分享 ...
  • 本文章向碼農們介紹php 表單提交錯誤後返回數據消失問題的解決方法,感興趣的碼農可以參考一下。 表單提交錯誤後返回數據消失怎麼辦吶,今天就來分析解決一下這個問題。 狀況概述: 做填寫表單信息提交的時候會碰到一個問題就是當用戶填寫並提交表單後,程式判斷不符合要求並返回,返回之後之前填寫的表單信息會被清 ...
  • opencv3.1 +windows10+ vs2015配置見文章 win10下vs2015配置Opencv3.1.0過程詳解(轉) 代碼經過測試,識別度極高,測試圖片50w張,識別率90%以上 如果可以結合微軟牛津計劃的api可以識別圖片物品 https://www.azure.cn/projec ...
  • 下載安裝Opencv3.1.0 下載Opencv3.1.0,進入官網,點擊opencv for windows即可下載。 點擊運行下載好的文件。實際上,opencv的安裝程式就是解壓縮文件,個人因為只有C盤,所以就直接在C盤建了一個文件夾Opencv3.1.0。 選好路徑之後點擊Extract即可。 ...
  • 如果我們需要產生多個對象,每個對象的邏輯完全一樣,只是對象內的成員變數的類型不同。那麼我們該如何去做? ① 創建多個類文件,給每個類中的成員變數設置指定的數據類型; 1 public class Demo1{ 2 public static void main(String []args){ 3 M ...
  • apache預設路徑配置方法 apache的配置 apache已經自帶了,只需如下三個命令就可以了。 開啟apache服務 sudo apachectl start 停止apache服務 sudo apachectl stop 重啟服務 sudo apachectl restart 查看版本 htt ...
  • 我們一般都會用webservice來做遠程調用,大概有兩種方式,其中一種方式rest風格的簡單明瞭。 記錄下來作為筆記: 開發服務端: 具體的語法就不講什麼了,這個網上太多了,而且只要看一下代碼基本上都懂,下麵是直接貼代碼: 這個風格和springmvc實在太像了,所以一看基本上就懂了。 下麵是配置 ...
  • 經查找一些資料,並且親自實驗之後得出: r+:打開已存在的文件時,游標位於開頭,文件可讀,可寫, 寫數據時,由於游標位於開頭,所以會覆蓋原有數據 w+:打開的文件已存在時,將覆蓋原文件 a+:打開已存在的文件時,游標位於文件尾,文件可讀,可寫 讀數據時,游標會回到開頭 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...