Java常用數據結構入門

Java常用數據結構入門

前言

數據結構是程序設計中的基礎,掌握常用數據結構能幫助你更高效地解決問題。本文面向Java初學者,介紹Java中常用的數據結構及其基本使用方法。


1. 數組 (Array)

數組是最基礎的數據結構,可以存儲固定大小的同類型元素。

定義與使用:

int[] arr = new int[5]; // 創建長度為5的整型數組
arr[0] = 10; // 賦值
System.out.println(arr[0]); // 輸出第一個元素

特點:

  • 長度固定,不能動態擴容
  • 訪問速度快,適合存儲和遍歷

2. ArrayList

ArrayList是Java集合框架中最常用的動態數組實現,可以動態擴容,適合存儲不固定長度的數據。

定義與使用:

import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
System.out.println(list.get(0)); // 輸出 "Java"

常用方法:

  • add() 添加元素
  • get() 獲取元素
  • remove() 移除元素
  • size() 獲取長度

3. LinkedList

LinkedList是鏈表結構,插入和刪除操作效率高,適合頻繁增刪元素的場景。

定義與使用:

import java.util.LinkedList;
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.remove(0); // 移除第一個元素

特點:

  • 插入/刪除快
  • 隨機訪問慢

4. HashMap

HashMap是常用的鍵值對映射結構,用于存儲映射關系。

定義與使用:

import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
System.out.println(map.get("Java")); // 輸出 1

常用方法:

  • put() 添加鍵值對
  • get() 獲取值
  • remove() 移除鍵值對
  • containsKey() 判斷是否包含某個鍵

5. HashSet

HashSet用于存儲不重復的元素集合。

定義與使用:

import java.util.HashSet;
HashSet<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
set.add("Java"); // 不會重復添加
System.out.println(set.size()); // 輸出 2

特點:

  • 元素不重復
  • 無序存儲

6. 棧 (Stack)

是一種后進先出(LIFO)的數據結構,可以用Stack類或Deque接口實現。

定義與使用:

import java.util.Stack;
Stack<Integer> stack = new Stack<>();
stack.push(1); // 壓棧
stack.push(2);
System.out.println(stack.pop()); // 出棧,輸出2

7. 隊列 (Queue)

隊列是一種先進先出(FIFO)結構,常用LinkedListArrayDeque實現。

定義與使用:

import java.util.LinkedList;
import java.util.Queue;
Queue<String> queue = new LinkedList<>();
queue.offer("Java");
queue.offer("Python");
System.out.println(queue.poll()); // 輸出并移除 "Java"

總結

Java集合框架為我們提供了豐富的數據結構選擇。作為初學者,建議重點掌握上述幾種數據結構的基本用法和特點。多加練習,結合實際場景選擇合適的數據結構,會讓你的編程能力大幅提升。

推薦學習路徑:

  1. 了解每種數據結構的特點和適用場景
  2. 編寫代碼練習基本操作
  3. 閱讀Java官方文檔和相關書籍

參考資料:

  • Java官方文檔 - Collections Framework
  • 《數據結構與算法Java版》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94294.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94294.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android GPU測試

一、Basemark GPU 可選擇進行vulkan和opengl測試&#xff1a; 二、GFXBench 進行各種offscreen測試&#xff08;包括曼哈頓離屏&#xff09; 這是由GFXBench圖形性能測試套件提供的一個著名3D圖形渲染場景。 它模擬了一個復雜的未來都市環境&#xff08;類似曼哈頓&#xff…

2025年6月最新SCI-灰熊脂肪增長優化算法Grizzly Bear Fat Increase-附Matlab免費代碼

引言 本期介紹一種受自然啟發的創新算法——灰熊脂肪增長優化算法Grizzly Bear Fat Increase optimizer&#xff0c;GBFIO。GBFIO算法模仿灰熊為準備過冬而積累身體脂肪的自然行為&#xff0c;借鑒了它們的狩獵、捕魚、吃草、蜂蜜等策略。于2025年6月發表在JCR 1區&#xff0c…

Pytorch實現一個簡單的貝葉斯卷積神經網絡模型

貝葉斯深度模型的主要特點和實現說明&#xff1a;模型結構&#xff1a;結合了常規卷積層&#xff08;用于特征提取&#xff09;和貝葉斯線性層&#xff08;用于分類&#xff09;貝葉斯層將權重視為隨機變量&#xff0c;而非傳統神經網絡中的確定值使用變分推斷來近似權重的后驗…

Dubbo 3.x源碼(32)—Dubbo Provider處理服務調用請求源碼

基于Dubbo 3.1&#xff0c;詳細介紹了Dubbo Provider處理服務調用請求源碼 上文我們學習了&#xff0c;Dubbo消息的編碼解的源碼。現在我們來學習一下Dubbo Provider處理服務調用請求源碼。 當前consumer發起了rpc請求&#xff0c;經過請求編碼之后到達provider端&#xff0c;…

每日一leetcode:移動零

目錄 解題過程: 描述: 分析條件: 解題思路: 通過這道題可以學到什么: 解題過程: 描述: 給定一個數組 nums&#xff0c;編寫一個函數將所有 0 移動到數組的末尾&#xff0c;同時保持非零元素的相對順序。 請注意 &#xff0c;必須在不復制數組的情況下原地對數組進行操…

6-Django項目實戰-[dtoken]-用戶登錄模塊

1.創建應用 python manage.py startapp dtoken 2.注冊應用 settings.py中注冊 3.匹配路由4.編寫登錄功能視圖函數 import hashlib import json import timeimport jwt from django.conf import settings from django.http import JsonResponse from user.models import UserPro…

Axure日期日歷高保真動態交互原型

在數字化產品設計中&#xff0c;日期日歷組件作為高頻交互元素&#xff0c;其功能完整性與用戶體驗直接影響著用戶對產品的信任度。本次帶來的日期日歷高保真動態交互原型&#xff0c;依照Element UI、View UI等主流前端框架為參考&#xff0c;通過動態面板、中繼器、函數、交互…

【YOLOv4】

YOLOv4 論文地址&#xff1a;&#xff1a;【https://arxiv.org/pdf/2004.10934】 YOLOv4 論文中文翻譯地址&#xff1a;【深度學習論文閱讀目標檢測篇&#xff08;七&#xff09;中文版&#xff1a;YOLOv4《Optimal Speed and Accuracy of Object Detection》-CSDN博客】 yol…

【秋招筆試】2025.08.03蝦皮秋招筆試-第一題

?? 點擊直達筆試專欄 ??《大廠筆試突圍》 ?? 春秋招筆試突圍在線OJ ?? 筆試突圍在線刷題 bishipass.com 01. 蛋糕切分的最大收益 問題描述 K小姐經營著一家甜品店,今天她有一塊長度為 n n n 厘米的長條蛋糕需要切分。根據店里的規定,她必須將蛋糕切成至少 2 2

2.0 vue工程項目的創建

前提準備.需要電腦上已經安裝了nodejs 參考 7.nodejs和npm簡單使用_npmjs官網-CSDN博客 創建vue2工程 全局安裝 Vue CLI 在終端中運行以下命令來全局安裝 Vue CLI&#xff1a; npm install -g vue/cli npm install -g 表示全局安裝。vue/cli 是 Vue CLI 的包名。 安裝完成后…

視覺圖像處理中級篇 [2]—— 外觀檢查 / 傷痕模式的原理與優化設置方法

外觀缺陷檢測是工業生產中的關鍵環節&#xff0c;而傷痕模式作為圖像處理的核心算法&#xff0c;能精準識別工件表面的劃痕、污跡等缺陷。掌握其原理和優化方法&#xff0c;對提升檢測效率至關重要。一、利用傷痕模式進行外觀檢查雖然總稱為外觀檢查&#xff0c;但根據檢查對象…

ethtool,lspci,iperf工具常用命令總結

ethtool、lspci 和 iperf 是 Linux 系統中進行網絡硬件查看、配置和性能測試的核心命令行工具。下面是它們的常用命令分析和總結&#xff1a; 核心作用總結&#xff1a; lspci: 偵察兵 - 列出系統所有 PCI/PCIe 總線上的硬件設備信息&#xff0c;主要用于識別網卡型號、制造商、…

DAY10DAY11-新世紀DL(DeepLearning/深度學習)戰士:序

本文參考視頻[雙語字幕]吳恩達深度學習deeplearning.ai_嗶哩嗶哩_bilibili 參考文章0.0 目錄-深度學習第一課《神經網絡與深度學習》-Stanford吳恩達教授-CSDN博客 1深度學習概論 1.舉例介紹 lg房價預測&#xff1a;房價與面積之間的坐標關系如圖所示&#xff0c;由線性回歸…

flutter release調試插件

chucker_flutter &#xff08;只有網絡請求的信息&#xff0c;親測可以用&#xff09; flutter&#xff1a;3.24.3 使用版本 chucker_flutter: 1.8.2 chucker_flutter | Flutter package void main() async {// 可以控制顯示ChuckerFlutter.showNotification false;ChuckerF…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的私域流量拉新策略研究

摘要&#xff1a;私域流量運營已成為企業數字化轉型的核心戰略&#xff0c;其本質是通過精細化用戶運營實現流量價值最大化。本文以“定位、拉新、養熟、成交、裂變、留存”全鏈路為框架&#xff0c;聚焦開源鏈動21模式、AI智能名片與S2B2C商城小程序的協同創新&#xff0c;揭示…

華為云云服務高級顧問葉正暉:華為對多模態大模型的思考與實踐

嘉賓介紹&#xff1a;葉正暉&#xff0c;華為云云服務高級顧問&#xff0c;全球化企業信息化專家&#xff0c;從業年限超過23年&#xff0c;在華為任職超過21年&#xff0c;涉及運營商、企業、消費者、云服務、安全與隱私等領域&#xff0c;精通云服務、安全合規、隱私保護等領…

【機器學習(二)】KNN算法與模型評估調優

目錄 一、寫在前面的話 二、KNN&#xff08;K-Nearest Neighbor&#xff09; 2.1 KNN算法介紹 2.1.1 概念介紹 2.1.2 算法特點 2.1.3 API 講解 2.2 樣本距離計算 2.2.1 距離的類型 &#xff08;1&#xff09;歐幾里得距離&#xff08;Euclidean Distance&#xff09; …

《Uniapp-Vue 3-TS 實戰開發》實現自定義頭部導航欄

本文介紹了如何將Vue2組件遷移至Vue3的組合式API。主要內容包括:1) 使用<script setup lang="ts">語法;2) 通過接口定義props類型約束;3) 用defineProps替代props選項;4) 將data變量轉為ref響應式變量;5) 使用computed替代計算屬性;6) 將created生命周期…

GitCode疑難問題診療

問題診斷與解決框架通用問題排查流程&#xff08;適用于大多數場景&#xff09; 版本兼容性驗證方法 網絡連接與權限檢查清單常見錯誤分類與解決方案倉庫克隆失敗場景分析 HTTP/SSH協議錯誤代碼解讀 403/404錯誤深層原因排查高級疑難問題處理分支合并沖突的深度解決 .gitignore…

告別物業思維:科技正重構產業園區的價值坐標系

文 | 方寸控股引言&#xff1a;當產業園區的競爭升維為“科技軍備競賽”&#xff0c;土地紅利消退&#xff0c;政策優勢趨同&#xff0c;傳統園區運營陷入增長困局。當招商團隊還在用Excel統計企業需求&#xff0c;當能耗管理依賴保安夜間巡檢&#xff0c;當企業服務停留在“修…