Java數組:
數組在java中用於在單個變量中存儲多個值,而不是聲明單獨的變量,即它是具有相鄰內存位置的相同類型元素的集合。它是一種數據結構,我們可以在java數組中存儲具有固定集的類似元素。數組中的每一項都稱為一個元素,每個元素都由其數值索引訪問。
例子:
串[]輛車;cars是數組的名稱
字符串[]cars = {" Volvo ", " ford ", " bbt ", " Bmw "};
Java數組是基於索引的,即數組的第一個元素存儲在0th指數,2nd元素1聖索引並繼續下去。在這個例子中,“Volvo”是0th索引值,“ford”有第一個索引值bbt有2個nd等等。在java中,array是動態生成類的對象,它接收對象類並執行可序列化的接口。
在java中,我們可以創建一維數組或多維數組。多維數組可以聲明為
例子:
int [][] myValues = {{1,2,3,4}, {5,6,7}};
myValues是一個數組,元素是兩個數組。
int[][]myValues = {{1,2,3,4}, {5,6,7}};
int x =myValues [1][2]
system.out.print (x);
這個程序的輸出將是7,因為7的第二個下標值是1聖數組中。這裏1,2,3,4是第0個數組的元素,5,6,7是第1個數組的元素聖數組,係統要我們輸出2nd第一個數組的元素,在代碼的第二行中定義為x。
>>訪問數組的元素。
我們可以通過引用索引號來訪問元素,例如
string[]cars = {" Volvo ", " BMW ", " Ford "}
System.out.print(汽車[0]);
輸出- >沃爾沃。
>>修改數組元素。
我們可以通過引用索引號來更改元素,例如
汽車[0]= "歐寶";
System.out.println(汽車[0]);
輸出- >歐寶。
要找到數組元素的長度(元素的數量),我們必須使用length關鍵字,如下所示:
string[] cars = {" volvo ", " MG ", " ford "};
System.out.println (cars.length);
輸出- > 3
鋸齒陣列在java:
成員數組的多維數組大小不同。我們可以創建一個2D數組,其中第一個數組包含2個元素,另一個數組包含3個元素。
例子:
public class Sab {public static void main(String[] args){int[][] twoDArray = new int[2][];twoDArray[0] = new int[2];twoDArray[1] = new int[3];Int counter = 0;For (int row=0;row < twoarray .length;行+ +){(col = 0;col < twoDArray[row].length;{twoDArray[row][col] = counter++;}} for(int row=0; row
輸出-> 0 1 .單擊“確定”
Output-> 2 3 4 .單擊“確定”
循環數組:-
可以使用for循環遍曆數組元素,並使用length屬性指定應該運行多少次循環。最好使用長度屬性來指定循環在動作中的次數,因為這樣對其他用戶來說也更易於閱讀和簡單。
字符串[]cars = {" Volvo ", " ford ", " bbt ", " bmw "};
For (int i=0;我< cars.length;我+ +){
System.out.print(汽車[我]);}
輸出->沃爾沃福特bbt寶馬
我們也可以像這樣使用for-each循環,
字符串[]cars = {" volvo ", " ford ", " bbt ", " bmw "};
對於(字符串I:汽車){
System.out.print(我);
}
嵌套循環:
嵌套循環是指一個循環語句在另一個循環語句中。這就是嵌套循環也被稱為循環中的循環的原因。這是一個簡單的算法,通過使用兩個嵌套循環連接兩個集合。
語法> >
(初始化;條件;遞增/遞減){//內部循環(初始化;條件;遞增/遞減){//外部循環}}
公共靜態Void main(string [] args) {
int [][] myValues = {{1,2,3,4}, {5,6,7}};
為(int I =0;我< myValues.length;我+ +){
為(int j = 0;j <括號;j + +) {
system.out.print (myvalue[我][j]);
}
}
陣列的優點:
- 用於使用一個名稱表示類型相似的多個數據項。
- 它在相鄰的內存位置為所有元素分配內存。
- 我們可以使用索引號來訪問數組的元素。
- 與其他基元數據類型相比,數組的速度更快。
陣列的缺點:
- 一旦聲明,數組的大小就不能改變,分配的內存也不能修改。
- 在數組中存儲或提供的元素數量必須事先定義。
- 插入和刪除操作在數組中有點棘手,因為元素存儲在連續的內存位置,移位操作也很困難。
- 在數組中,內存損耗可能更大。
- 而在數組中間添加或刪除項會影響數組的性能。
Java數組列表:
Arraylist也稱為可調整大小的數組,可以在java util包中找到。它為我們提供了java中的動態數組。雖然它可能比基本數組慢,但可以根據需要在數組中進行許多操作,這在程序中非常有用。我們也可以隨時從數組列表中添加和刪除元素。
語法
進口java.util.Arraylist;Arraylist cookies= new Arraylist();
要在數組列表中添加項,我們必須使用add()方法,例如:
進口java.util.Arraylist;
公共類Myclass{
公共靜態Void main(string[] args){
Arraylist <字符串>餅幹=新Arraylist <字符串> ();
餅幹。添加(“太陽盛宴”);
餅幹。添加(“瑪麗lite”);
cookies.add(“工廠”);
System.out.print(餅幹);
}
}
輸出->[太陽盛宴,瑪麗lite, fab]
要訪問一個項,我們使用get()方法並引用索引號。訪問一個項目。
cookies.get (0);
輸出->太陽盛宴
要更改一個項,我們使用set()方法並引用索引號。更改該項。在添加最後一個元素之後。
餅幹。Set(0,“good day”);
System.out.print(餅幹);
輸出->[美好的一天,瑪麗lite, fab]
要刪除一個項,我們使用remove()方法並引用索引號。刪除一個項目。為了刪除所有元素,我們必須在添加最後一個元素後使用clear()方法。
cookies.remove (1);System.out.print(餅幹);
輸出->[好日子,fab]
循環數組列表:-
使用for循環遍曆數組列表的元素,並使用size()方法指定循環迭代的次數。否則,循環與標準數組中的循環相同。
為(int i = 0;我< cookies.size ();我+ +){
system.out.print (cookies.get (i));
}
輸出->日好,瑪麗lite, fab
>>數組列表排序
java的另一個有用的類。Util包是集合類,其中包括sort()方法,用於按字母順序或數字排序列表。
進口java.util.Arraylist;
進口java.util.collection;
公共類Myclass{
公共靜態Void main(string[] args){
Arraylist
餅幹。添加(“零食”);
Collection.sort(餅幹);
為(字符串I: cookies){
system.out.print(我);
}
}
}
數組列表的優點:-
- 數組列表在聲明時不像標準數組那樣有明確的內存分配,它們可以在運行時被追加。
- 數組列表的插入、搜索和刪除功能比普通數組更強。
- 數組列表的大小不是固定的。
數組列表的缺點:-
- Arraylist僅支持對象項,不支持基本數據類型。
Array與Arraylist的區別:-
數組 | ARRAYLIST |
尺寸必須在聲明時定義。 |
大小可以動態更改。 |
數組沒有類型參數化。 | 數組列表是類型參數化的。 |
數組可以包含基本數據類型和對象。 不能包含不同數據類型的值。 |
數組列表隻能包含對象,不允許包含基本數據類型。 可以包含不同數據類型的值。 |
java中的關鍵字:-
我們可以在很多方麵使用java這個關鍵字;它實際上是一個引用變量,指向當前對象。這個關鍵字告訴我們與類相關的對象或實例的行為和狀態。這個關鍵字指的是方法或構造函數中的當前實例/對象。它最常見的用途是消除類屬性和同名參數之間的混淆,即如果我們使用構造函數重載,我們可能不得不從另一個構造函數調用一個構造函數。在這種情況下,我們不能顯式地調用構造函數,這裏必須使用this()關鍵字。
java中這個關鍵字的一些用法如下:
- This()可用於調用當前類構造函數。
- 這可用於從函數/方法返回當前類對象/實例
- 這可用於引用當前類對象變量。
- 也可以在函數/方法調用中作為參數傳遞。
- 這可用於(隱式地)調用當前類方法。
使用This()調用當前類構造函數:
Abc類
{
int p;
int問;
Abc () {
這(8、10);
system . out。prinln(“內部默認的構造函數\ n”);
}
Abc (int p, int q);
{
這.p = p;
這.q = q;
system . out。println(“內部參數化構造函數”);
}
公共靜態Void main(string[] args)
{
Abc對象=新Abc ();
}
}
Output->內部參數化構造函數
Output->內部默認構造函數
使用' this '關鍵字返回當前類實例:
類美國廣播公司
{
int p;
int問;
美國廣播公司()
{
P = 8;
Q = 10;
}
Abc get ()
{
返回這;
}
空白顯示()
{
system . out。Println (" p = " + p + " q = " + q);
}
公共靜態Void main(string[] args)
{
Abc對象=新Abc ();
.display Object.get () ();
}
}
輸出-> p=8 q = 10
使用' this '調用當前類方法:
如果不使用此關鍵字,編譯器在調用方法時自動添加此關鍵字。
類我{
無效的k () {system . out。println(“嗨k”);
}
無效的h () {
system . out。println (" h ");
這同意();
}
}
類測試{
公共靜態void main (string [] args) {
Me m =新我();
Me.h ();
}
}
輸出-> hey k
輸出-> hi k
在構造函數調用中使用' this '作為參數傳遞。
我們也可以在構造函數中傳遞這個關鍵字。即使我們必須在幾個類中使用一個對象,我們也可以使用它。
類一個{
B1 obj;
(B4 obj) {
這.obj = obj;
}
空白顯示(){
System.out.print (obj.data);
}
}
類B1{
Int data = 4;
B1 () {
一個=新一個(這);
a.display ();
}
公共靜態Void main(string[] args){
B1 b =新B1 ();
}
}
輸出- > 4
使用' this '關鍵字作為函數的語句返回
類米{
M getM () {
返回這;
}
無效的味精(){system . out。println(“你好java”);
}
}
類Test1 {
公共靜態Void main(string[] args){
.msg .getM newM () () ();
}
}
輸出-> hello java
結論:-
數組-它們是java中的核心概念之一。如果你是處理數組和字符串的專家,這將大大提高你的編碼效率和成就。數組理解起來並不複雜,隻需要記住一些核心概念和一些實際操作就可以了。一旦你全神貫注地抓住它,你就永遠不會忘記數組的實現。
Arraylist數組列表類是非常強大的,因為它最大限度地減少了程序開發人員的頭痛,當你添加數據時,這個類的對象會以一種有效的方式自動擴展。自動擴展有助於避免超出數組邊界等問題。但與此同時,由於內存可以在後台分配,因此在效率方麵存在一些問題。但與標準數組相比,它有很多優點,我已經在上麵的文章中提到過。
這個關鍵字這個關鍵字在Java中對於獲取當前實例/對象的引用非常有幫助。它在變量情況下訪問對象屬性時非常有用。我們可以通過許多方式使用它,例如調用當前類構造函數。它主要用於避免類屬性和參數之間的混淆。但是我們不能在靜態方法和靜態初始化塊中使用這個關鍵字,即使我們引用的是靜態成員。