Java數組和集合

????????在Java中,數組和集合是兩個重要的概念,它們用于存儲和操作數據。本文將詳細介紹Java中的數組和集合,包括它們的定義、初始化、訪問和常見操作

一、數組(Array)

數組是一種用于存儲相同類型數據的容器,它可以存儲基本數據類型和對象。在Java中,數組的長度是固定的,一旦數組被創建,其長度就不能改變。下面是一些關于數組的重要概念:

1、數組的定義和初始化

Java中,可以使用以下方式定義和初始化數組:

// 聲明一個整型數組
int[] numbers;// 創建一個長度為5的整型數組
numbers = new int[5];// 聲明并初始化一個整型數組
int[] numbers = {1, 2, 3, 4, 5};

2、訪問數組元素

可以使用索引來訪問數組中的元素,索引從0開始,最大索引為數組長度減1。例如:

int[] numbers = {1, 2, 3, 4, 5};// 訪問數組中的第一個元素
int firstNumber = numbers[0];// 修改數組中的第三個元素
numbers[2] = 10;

3、獲取數組長度和遍歷

可以使用length屬性來獲取數組的長度,例如:

int[] numbers = {1, 2, 3, 4, 5};// 獲取數組長度
int length = numbers.length;// 遍歷數組并打印每個元素
for (int i = 0; i < length; i++) {System.out.println(numbers[i]);
}

4、多維數組

Java還支持多維數組,可以通過在數組類型后面添加多個方括號來定義多維數組,例如:

int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

二、集合(Collection)

????????集合是一種用于存儲和操作對象的容器,它提供了豐富的方法和功能來處理數據。在Java中,集合類位于java.util包中,常用的集合類有ArrayListLinkedListHashSetTreeSet等。下面是一些關于集合的重要概念:

1、ArrayList

ArrayList是一個動態數組,可以根據需要自動調整大小。以下是ArrayList的一些常見操作:

import java.util.ArrayList;// 創建一個ArrayList
ArrayList<String> names = new ArrayList<>();// 添加元素
names.add("Alice");
names.add("Bob");
names.add("Charlie");// 獲取元素數量
int size = names.size();// 獲取指定位置的元素
String firstElement = names.get(0);// 遍歷ArrayList并打印每個元素
for (String name : names) {System.out.println(name);
}

2、HashSet

HashSet是一個無序的集合,它不允許重復元素。以下是HashSet的一些常見操作:

import java.util.HashSet;// 創建一個HashSet
HashSet<Integer> numbers = new HashSet<>();// 添加元素
numbers.add(1);
numbers.add(2);
numbers.add(3);// 檢查元素是否存在
boolean containsTwo = numbers.contains(2);// 刪除元素
numbers.remove(3);// 遍歷HashSet并打印每個元素
for (int number : numbers) {System.out.println(number);
}

3、LinkedList

????????LinkedList是一種鏈表數據結構,它提供了在列表中快速插入和刪除元素的能力。它實現了List接口,可以按照插入順序存儲元素,并且允許元素重復。LinkedList還實現了Deque接口,可以用作隊列或雙端隊列。下面是一個使用LinkedList的示例代碼:

import java.util.LinkedList;public class LinkedListExample {public static void main(String[] args) {LinkedList<String> linkedList = new LinkedList<>();// 添加元素到鏈表末尾linkedList.add("Apple");linkedList.add("Banana");linkedList.add("Orange");// 在指定位置插入元素linkedList.add(1, "Grape");// 遍歷鏈表并打印元素for (String fruit : linkedList) {System.out.println(fruit);}// 獲取鏈表大小int size = linkedList.size();System.out.println("Size: " + size);// 移除指定位置的元素linkedList.remove(2);// 判斷鏈表是否包含指定元素boolean contains = linkedList.contains("Apple");System.out.println("Contains Apple: " + contains);}
}

4、TreeSet????????

????????TreeSet是一種基于紅黑樹(Red-Black Tree)的有序集合,它實現了SortedSet接口。TreeSet中的元素按照升序排序,并且不允許重復元素。下面是一個使用TreeSet的示例代碼:

import java.util.TreeSet;public class TreeSetExample {public static void main(String[] args) {TreeSet<Integer> treeSet = new TreeSet<>();// 添加元素到集合treeSet.add(5);treeSet.add(2);treeSet.add(8);treeSet.add(1);// 遍歷集合并打印元素(按照升序)for (int number : treeSet) {System.out.println(number);}// 獲取集合大小int size = treeSet.size();System.out.println("Size: " + size);// 判斷集合是否包含指定元素boolean contains = treeSet.contains(2);System.out.println("Contains 2: " + contains);// 移除指定元素treeSet.remove(8);}
}

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

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

相關文章

DNS的各種進階新玩法

你們好&#xff0c;我的網工朋友&#xff0c;今天和你聊聊DNS。 01 什么是DNS&#xff1f; mac地址誕生&#xff0c;可是太不容易記憶了&#xff0c;出現了簡化了IP形式&#xff0c;它被直接暴露給外網不說&#xff0c;還讓人類還是覺得比較麻煩&#xff0c;干脆用幾個字母算了…

【Git】一文教你學會 submodule 的增、刪、改、查

添加子模塊 $ git submodule add <url> <path>url 為想要添加的子模塊路徑path 為子模塊存放的本地路徑 示例&#xff0c;添加 r-tinymaix 為子模塊到主倉庫 ./sdk/packages/online-packages/r-tinymaix 路徑下&#xff0c;命令如下所示&#xff1a; $ git subm…

用自己熱愛的事賺錢,是多么的幸福

挖掘天賦可能有些困難&#xff0c;但挖掘愛好就簡單多啦&#xff01;最幸福的事情就是能用自己喜歡的事情賺錢。 我們要說的是一個博主&#xff0c;他非常喜歡騎自行車&#xff0c;雖然他的工作是在外貿公司做銷售&#xff0c;但每當有空時&#xff0c;他都會騎自行車。而且他…

Nginx同時支持Http和Https的配置詳解

當配置Nginx同時支持HTTP和HTTPS時&#xff0c;需要進行以下步驟&#xff1a; 安裝和配置SSL證書&#xff1a; 獲得SSL證書&#xff1a;從可信任的證書頒發機構&#xff08;CA&#xff09;或使用自簽名證書創建SSL證書。 將證書和私鑰保存到服務器&#xff1a;將SSL證書和私鑰…

spring 的事務隔離;Spring框架的事務管理的優點

文章目錄 說一下 spring 的事務隔離&#xff1f;Spring框架的事務管理有哪些優點&#xff1f;你更傾向用哪種事務管理類型&#xff1f; 聊一聊spring事務的隔離&#xff0c;事務的隔離對于一個系統來說也是非常重要的&#xff0c;直接上干貨&#xff01;&#xff01;&#xff0…

Python與設計模式--享元模式

10-Python與設計模式–享元模式 一、網上咖啡選購平臺 假設有一個網上咖啡選購平臺&#xff0c;客戶可以在該平臺上下訂單訂購咖啡&#xff0c;平臺會根據用戶位置進行 線下配送。假設其咖啡對象構造如下&#xff1a; class Coffee:name price 0def __init__(self,name):se…

Go iota簡介

當聲明枚舉類型或定義一組相關常量時&#xff0c;Go語言中的iota關鍵字可以幫助我們簡化代碼并自動生成遞增的值。本文檔將詳細介紹iota的用法和行為。 iota關鍵字 iota是Go語言中的一個預定義標識符&#xff0c;它用于創建自增的無類型整數常量。iota的行為類似于一個計數器…

數據庫基礎入門 — SQL排序與分頁

我是南城余&#xff01;阿里云開發者平臺專家博士證書獲得者&#xff01; 歡迎關注我的博客&#xff01;一同成長&#xff01; 一名從事運維開發的worker&#xff0c;記錄分享學習。 專注于AI&#xff0c;運維開發&#xff0c;windows Linux 系統領域的分享&#xff01; 本…

[深度理解] 重啟 Splunk Search Head Cluster

1: 背景: 關于釋放Splunk search head 的job 運行壓力:splunk search head cluster 要重啟的話,怎么辦? 答案是:splunk rolling-restart shcluster-members Initiate a rolling restart from the command line Invoke the splunk rolling-restart command from any me…

3款免費次數多且功能又強大的國產AI繪畫工具

hi&#xff0c;同學們&#xff0c;本期是我們第55 期 AI工具教程 最近兩個月&#xff0c;國內很多AI繪畫軟件被關停&#xff0c;國外絕大部分AI繪畫工具費用不低&#xff0c;因此 這兩天我 重新整理 國產 AI繪畫 工具 &#xff0c; 最終 篩選了 3款功能強大&#xf…

LeeCode前端算法基礎100題(3)- N皇后

一、問題詳情&#xff1a; 按照國際象棋的規則&#xff0c;皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。 n 皇后問題 研究的是如何將 n 個皇后放置在 nn 的棋盤上&#xff0c;并且使皇后彼此之間不能相互攻擊。 給你一個整數 n &#xff0c;返回所有不同的 n 皇后…

虛擬機系列:vmware和Oracle VM VirtualBox虛擬機的區別,簡述哪一個更適合我?以及相互轉換

一. VMware和Oracle VM VirtualBox虛擬機的區別主要體現在以下幾個方面: 首先兩種軟件的安裝使用教程如下: VMware ESXI 安裝使用教程 Oracle VM VirtualBox安裝使用教程 商業模式:VMware是一家商業公司,而Oracle VM VirtualBox是開源軟件; 功能:VMware擁有更多的功能和…

Leetcode200. 島嶼數量

Every day a Leetcode 題目來源&#xff1a;200. 島嶼數量 解法1&#xff1a;深度優先搜索 設目前指針指向一個島嶼中的某一點 (i, j)&#xff0c;尋找包括此點的島嶼邊界。 從 (i, j) 向此點的上下左右 (i1,j)&#xff0c;(i-1,j)&#xff0c;(i,j1)&#xff0c;(i,j-1) …

“圓柱-計算公式“技術支持網址

該軟件可以計算圓柱的底面圓周長、底面積、側面積和體積。 您在使用中有遇到任何問題都可以和我們聯系。我們會在第一時間回復您。 郵箱地址&#xff1a;elmo30zeongmail.com 謝謝&#xff01;

如何將本地websocket發布至公網并實現遠程訪問?

本地websocket服務端暴露至公網訪問【cpolar內網穿透】 文章目錄 本地websocket服務端暴露至公網訪問【cpolar內網穿透】1. Java 服務端demo環境2. 在pom文件引入第三包封裝的netty框架maven坐標3. 創建服務端,以接口模式調用,方便外部調用4. 啟動服務,出現以下信息表示啟動成功…

VR云游:讓旅游產業插上數字化翅膀,打造地方名片

自多地入冬降溫以來&#xff0c;泡溫泉成了許多人周末度假的選擇&#xff0c;在氣溫持續走低的趨勢下&#xff0c;溫泉游也迎來了旺季&#xff1b;但是依舊有些地區溫度依舊溫暖&#xff0c;例如南京的梧桐美景也吸引了不少游客前去打卡&#xff0c;大家穿著漢服與金黃的樹葉合…

【AI考證筆記】NO.1人工智能的基礎概念

以下部分內容來自于百度智能云人才認證培訓講義&#xff0c;騰訊等也有人工智能類似的講義&#xff0c;限時免費&#xff0c;也就是不報考&#xff0c;也能系統學習&#xff0c;課程做的都是不錯的。有感興趣的朋友&#xff0c;可以去檢索學習。 本系列是學習筆記&#xff0c;…

6個常用的聚類評價指標

評估聚類結果的有效性&#xff0c;即聚類評估或驗證&#xff0c;對于聚類應用程序的成功至關重要。它可以確保聚類算法在數據中識別出有意義的聚類&#xff0c;還可以用來確定哪種聚類算法最適合特定的數據集和任務&#xff0c;并調優這些算法的超參數(例如k-means中的聚類數量…

C語言——從鍵盤輸人三角形的三個邊長 a、b、c,求出三角形的面積。

從鍵盤輸人三角形的三個邊長 a、b、c,求出三角形的面積。求三角形的面積用公式areasqrt(s*(s-a)*(s-b)*(s-c)),其中 s1/2(a十bc)。注:要求對輸人三角形的三個邊長做出有效性判斷。 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<math.h> int main…

從word復制內容到wangEditor富文本框的時候會把html標簽也復制過來,如果只想實現直接復制純文本,有什么好的實現方式

從word復制內容到wangEditor富文本框的時候會把html標簽也復制過來&#xff0c;如果只想實現直接復制純文本&#xff0c;有什么好的實現方式&#xff1f; 將 Word 中的內容復制到富文本編輯器時&#xff0c;常常會帶有大量的 HTML 標簽和樣式&#xff0c;這可能導致不必要的格式…