導航:首頁 > 使用方法 > 數組常用的方法

數組常用的方法

發布時間:2022-01-07 16:05:41

1. String數組常用的幾種遍歷方法

list集合的遍歷3種方法:

[java] view plain
package com.sort;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
* list的三種遍歷
* @author Owner
*
*/
public class ListTest {

public static void main(String[] args) {

List<String> list = new ArrayList<String>();

list.add("a");
list.add("b");
list.add("c");
list.add("c");//可添加重復數據

//遍歷方法一
for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
String value = iterator.next();

System.out.println(value);
}

//遍歷方法二
for(String value : list){
System.out.println(value);
}

//遍歷方法三
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}

}
}

三種遍歷的比較分析:

方法一遍歷:
執行過程中會進行數據鎖定, 性能稍差, 同時,如果你想在循環過程中去掉某個元素,只能調用it.remove方法。

方法二遍歷:
內部調用第一種

方法三遍歷:
內部不鎖定, 效率最高, 但是當寫多線程時要考慮並發操作的問題

List介面的兩種主要實現類ArrayList和LinkedList都可以採用這樣的方法遍歷

關於ArrayList與LinkedList的比較分析
a) ArrayList底層採用數組實現,LinkedList底層採用雙向鏈表實現。
b) 當執行插入或者刪除操作時,採用LinkedList比較好。
c) 當執行搜索操作時,採用ArrayList比較好。

2. js中操作數組的幾個常用方法

1. Array.shift()------刪除並返回第一個元素
作用:從數組中刪除第一個元素(即下標為0的元素),並返回該元素。
注意:1)刪除元素之後,數組的長度-1。2)如果數組是空的,那麼 shift() 方法將不進行任何操作,返回 undefined 值。

3. Java數組的幾種常用操作方法

int[] num = {5,4,3,2,1};
for(int i = 0; i < num.length - 1; i++) {
for (int j = i + 1; j < num.length; j++) {
if (num[i] > num[j]) {
int tmp = num[i];
num[i] = num[j];
num[j] = tmp;
}
}
System.out.print("排序後:" + num[i]);
}

4. 數組遍歷常見的方法有

數組遍歷常見的方法有:

一、forEach方法

forEach是最簡單、最常用的數組遍歷方法,它提供一個回調函數,可用於處理數組的每一個元素,默認沒有返回值。

二、map方法

map,從字面上理解,是映射,即數組元素的映射。它提供一個回調函數,參數依次為處於當前循環的元素、該元素下標、數組本身,三者均可選。默認返回一個數組,這個新數組的每一個元素都是原數組元素執行了回調函數之後的返回值。

map方法不改變原數組。

三、filter方法

filter,過濾,即對數組元素的一個條件篩選。它提供一個回調函數,參數依次為處於當前循環的元素、該元素下標、數組本身,三者均可選。默認返回一個數組,原數組的元素執行了回調函數之後返回值若為true,則會將這個元素放入返回的數組中。

filter方法不改變原數組。

四、some、every方法

some方法和every的用法非常類似,提供一個回調函數,參數依次為處於當前循環的元素、該元素下標、數組本身,三者均可選。

數組的每一個元素都會執行回調函數,當返回值全部為true時,every方法會返回true,只要有一個為false,every方法返回false。當有一個為true時,some方法返回true,當全部為false時,every方法返回false。

some、every方法不改變原數組。

五、rece方法

rece方法有兩個參數,第一個參數是一個回調函數(必須),第二個參數是初始值(可選)。回調函數有四個參數,依次為本輪循環的累計值、當前循環的元素(必須),該元素的下標(可選),數組本身(可選)。

rece方法,會讓數組的每一個元素都執行一次回調函數,並將上一次循環時回調函數的返回值作為下一次循環的初始值,最後將這個結果返回。

如果沒有初始值,則rece會將數組的第一個元素作為循環開始的初始值,第二個元素開始執行回調函數。

最常用、最簡單的場景,是數組元素的累加、累乘。

rece方法不改變原數組。

六、for of方法

es6新增了interator介面的概念,目的是對於所有數據結構提供一種統一的訪問機制,這種訪問機制就是for of。

即:所有有interator介面的數據,都能用for of遍歷。常見的包括數組、類數組、Set、Map等都有interator介面。

(4)數組常用的方法擴展閱讀:

數組(Array)是有序的元素序列。若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式。 這些有序排列的同類數據元素的集合稱為數組。

數組是用於儲存多個相同類型數據的集合。

在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。

5. 常用的幾個操作數組的方法

concat()連接兩個或更多的數組,並返回結果。
join()把數組的所有元素放入一個字元串。元素通過指定的分隔符進行分隔。
pop()刪除並返回數組的最後一個元素
push()向數組的末尾添加一個或更多元素,並返回新的長度。
reverse()顛倒數組中元素的順序。
shift()刪除並返回數組的第一個元素
slice()從某個已有的數組返回選定的元素
sort()對數組的元素進行排序
splice()刪除元素,並向數組添加新元素。
toSource()返回該對象的源代碼
toString()把數組轉換為字元串,並返回結果。
toLocaleString()把數組轉換為本地數組,並返回結果。
unshift()向數組的開頭添加一個或更多元素,並返回新的長度。
valueOf()返回數組對象的原始值

6. js數組常用方法

1.push方法將單個元素或者另外的數組添加到條用該方法的數組末尾去
2.concat方法就是將兩個數組或者元素之間連接起來調用該方法的數組放在前面,方法實參放在後面
3.pop方法刪除數組中的最後一個元素且會將這個被刪除的元素返回
4.splice 方法刪除或插入指定位置的元素函數的原型為splice(index,howmany,element1,.....,elementX...
5.reverse 方法即將數組的順序反轉

7. js數組幾種常見的操作方法

關於js數組的用法有很多,下面主要針對一些簡單的操作,比如合並,反轉,添加刪除等簡單的操作總結一下。

關於js數組的用法有很多,下面主要針對一些簡單的操作,比如合並,反轉,添加刪除等簡單的操作總結一下。

第一:讀取數組 for循環

方法如下:

var ay=[1,"sdsd","sdsd"]
for (var i=0;i<ay.length;i++) {

console.log("index:"+i+" "+ay[i]) //index:0 1 index:1 sdsd index:2 sdsd

}

第二:合並數組 concat

方法如下:

var arr1=['w','e','s'];

var arr2=['e','y','u'];
var arr3=arr1.concat(arr2);
console.log(arr3) //['w','e','s''e','y','u'];
第三:數組變為字元串格式 join

方法如下:

var arr1=['w','e','s'];

var arr4=arr1.join()
console.log(arr4) //w,e,s

第四:刪除最後一個元素,針對老數組是刪除最後一個,針對新數組是返回最後一個 pop

var arr6=["d","s","t"];
var arr7=arr6.pop();
console.log(arr6) //["d","s"];
console.log(arr7);// t

第五:添加最後一個元素,針對老數組最後一個元素後面添加一個元素,新數組返回元素個數 push

var arr8=["i","u","t"];

var arr9=arr8.push("k");

console.log(arr8); //["i","u","t","k"];

console.log(arr9); // 4

第六:shift() 和pop()一樣,不同的是操作的是開頭刪除的元素shift();具體操作不在展示
第七:unshiift()和push一樣,不同的是操作的是開頭添加的元素unshift();具體操作不再展示

第八:反轉數組 reverse

方法如下:

var arr1=['w','e','s'];

var arr10=arr1.reverse()

console.log(arr10) //['s','e','w'];

第九:數組排序 sort a-b正向 b-a 反向

正向

var arr11=[3,1,5,8,28]
var arr12=arr11.sort(function (a,b) {
return a-b;
})
console.log(arr12) //[1,3,5,8,28];

反向

var arr13=arr11.sort(function (a,b) {
return b-a;
})
console.log(arr13) //[28,8,5,3,1]

第十:數組截取 數組截取的方法主要有slice 和splice,另外說到截取我這里隨便也把字元串截取帶上,字元串截取的方法主要有substr 和substring

(1)slice 使用方法arr.slice(m,n);其中arr為數組,m,n為兩個參數,意思是從已有數組中返回選定的元素,截取位置均為下標,其中m必須,為起始位置,可以為負值,n為結束位置(截取位置並不包含)。

示例如下:

①只有起起始值,並且為正,默認的從起始位置一直到整個數組結束,起始下標從0開始

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(1)
console.log(arr) //[2,3,5,6,8,9] 老數組是沒有變化的,下面不在列舉,都是一樣的
console.log(arr1) //[3,5,6,8,9] 只有起始參數,並且為正值,返回新數組從下標1開始截取

②只有起始值,並且為負,默認的是從起始位置一直到整個數組結束,此處沒有起始值,數組的最後一個下標是-1,比如此例,如果從-6開始取,必定是整個數組

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1)
console.log(arr1) //[9] 只有起始參數,並且為負值,從數組尾部截取元素

③有起始值和結束值,並且為正,此處需注意下標是從小到大,比如你(3,1)肯定是取不到值的,另外截取的下標個數並不包含最後一個下標

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(1,4)
console.log(arr1) //[3,5,6] 此時是從下標1開始到下標4,但是需要注意的是並不包含下標4,准確的說是1-3的下標

④有起始值和結束值,並且為負,此處需注意下秒也是從小到大,同理,比如(-1,-6)也是肯定取不到值的,另外截取的下標個數也並不包含最後一個下標

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-6,-1)
console.log(arr1) //[2,3,5,6,8]

⑤有起始值和結束值,並且正負都有

負值到0

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1,0)

//剛剛都看到了,數組下標都是從小到大的,所以說如果正負都有的情況下,理論上應該可以取值的,比如這個例子,-1為9的小標,0為2的下標,所以取值應該為 [9],但是結果並不是這樣的
console.log(arr1) //[ ] 從這里可以看出他的結果是為空的,所以從負值到0結果是取不到的

負值到正直

var arr=[2,3,5,6,8,9]

var arr1=arr.slice(-1,2)

//那從負值到正值呢,同樣也是取不到值的

console.log(arr1) //[ ]

正直到負值

var arr=[2,3,5,6,8,9]

var arr1=arr.slice(2,-1)

//那從正直到負值,這個理論上是取不到的,但是看下結果

console.log(arr1) //[ 5,6,8] 從結果可以看出是可以取的 原理是2的下標為5,-1的下標為9,不包含結束位置下標

總結:這個方法看著可能會麻煩些(也可能被我寫的麻煩啦),比如正到負等,不知道大家都是怎麼操作,我一般用這個取值都是只截取正的,所以這個實際操作還是非常簡單的。

(2)splice 像數組中添加或者刪除元素
arr.splice(m,n,index,index1,...,indexx)
m是起始位置,n是刪除元素的個數,index是要添加的元素,在不添加元素的前提下,只有第一個參數是必須的,後面兩個都不是必須的,在需要添加元素的情況下,三個元素都是必須的,此方法和slice是不一樣的,這個返回的是被刪除的元素

示例如下:

只刪除不添加

注意看此例,是(1,2)刪除兩個,如果是(1,0),則表示刪除零個,也就是不刪除的意思,如果只有一個參數則表示從這里開始刪除,比如是(1)則為[2],當然這個也是可以取負值,但是這個和slice是不一樣的,只能起始位置取負值,因為刪除的個數不可能為負值,slice可以取(2,-1),這個就截然不同啦,但是剛剛也說啦,slice是不可以起始位置取負值,結束位置取正的,但是這個是可以的,比如(-1,0)則表示從-1開始刪除零個,結果為[2,3,5,6,8,9],(-6,2),結果為[5,6,8,9],另外這個刪除的第二個值如果寫的過大,也只是刪除從本下標到最後一個,比如(2,78)為[2,3]

var arr=[2,3,5,6,8,9]
var arr1=arr.splice(1,2)
console.log(arr) // [2,6,8,9] 注意看此處才是我們要的數組,從下標1開始刪除刪除兩個
console.log(arr1) //[3,5] 此處是我們刪除掉的數組

刪除加添加 具體的和上面的差不多,主要添加了添加元素的效果,這個也可以添加多個元素

var arr=[2,3,5,6,8,9]
var arr1=arr.splice(1,2,"il")
console.log(arr) //[2,"li",6,8,9]
console.log(arr1) //[3,5]

總結:此方法用的時候,一般也都是只取正值

(3)substr 這個是字元串的用法 用法arr.substr(m,n) m必選也可以負值 n選填,注意看這個並不是結束為止而是截取的個數

示例如下:

只有一個參數 默認從此下標開始,取後面所有的

正值

var arr="sdhgfhf"
var arr1=arr.substr(1)
console.log(arr)// "sdhgfhf"這個是不變的,下面不再列舉
console.log(arr1)//"dhgfhf" 從下標1開始取後面所有的

負值

var arr="sdhgfhf"
var arr1=arr.substr(-2)
console.log(arr1)//"hf" 從下標-2開始取後面所有的

兩個參數,從第一個下標開始,截取到下標2的長度

var arr="sdhgfhf"
var arr1=arr.substr(1,3)
console.log(arr1)//"dhg" 從下標1開始取後面所有的 同理如果為負值,比如(-6,3)則為"hjf";後面的始終為長度

總結:此方法需注意不要和數組的混淆,這個是截取長度的

(4)substring 用法arr.substring(m,n) 兩個參數,m必須,起始位置 ,n選填,截取下標的結束位置,此用法和上面slice有點類似,但是需要注意的是此方法是不支持負值的

示例如下:

只有一個參數

var arr="sdhgfhf"
var arr1=arr.substring(1)
console.log(arr1)//"dhgfhf"從下標1開始取後面所有的

兩個參數

var arr="sdhgfhf"
var arr1=arr.substring(1,3)
console.log(arr1)// "dh"從下標1開始截取到下標3,但是不包含3

總結:此方法不支持負值,只針對下標來截取的

最後,以上主要是總結的數組的一些簡單的操作方法,學無止境,繼續努力。

8. 數組的方法有哪些

數組中常用的方法有:
1、給數組末尾添加新內容的push方法;
2、刪除數組最後一項的pop方法;
3、刪除數組第一項的shift方法;
4、向數組首位添加新內容unshift方法;
5、按照條件查找出其中的部分內容。

數組(Array)是有序的元素序列。若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式。這些有序排列的同類數據元素的集合稱為數組。數組是用於儲存多個相同類型數據的集合。

在C語言中, 數組[2]屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。
關於可變長數組(VLA)的問題:原來的C89標准中是不允許可變長數組出現的,但是在C99標准中,加入了對VLA的支持,但是支持的編譯器不多,而且由於棧溢出的安全問題,沒有太多的人敢用這個可變長數組,所以在C11標准中又把它規定為可選實現的功能了。

如果有過用其它語言編程的經歷,那麼想必會熟悉數組的概念。由於有了數組,可以用相同名字引用一系列變數,並用數字(索引)來識別它們。在許多場合,使用數組可以縮短和簡化程序,因為可以利用索引值設計一個循環,高效處理多種情況。數組有上界和下界,數組的元素在上下界內是連續的。因為 Visual Basic對每一個索引值都分配空間,所以不要不切實際聲明一個太大的數組。

此處數組是程序中聲明的變數數組。它們不同於控制項數組,控制項數組是在設計時通過設置控制項的 Index 屬性規定的。變數數組總是連續的;與控制項數組不同的是,不能從一個數組的中部載入或卸載數組元素。

9. c#中Array類中的常用方法的功能

Array 類是支持數組的語言實現的基類,Array的常用方法有很多,比如GetLength--獲取一個 32 位整數,該整數表示 Array 的指定維中的元素數,IndexOf --已重載。 返回一維 Array 或部分 Array 中某個值第一個匹配項的索引,LastIndexOf --返回一維 Array 或部分 Array 中某個值的最後一個匹配項的索引,Resize -- 將數組的大小更改為指定的新大小,Reverse -- 反轉一維 Array 或部分 Array 中元素的順序 ,Sort -- 對一維 Array 對象中的元素進行排序。
Array的一個屬性也用的非常頻繁,那就是:Length -- 獲得一個 32 位整數,該整數表示 Array 的所有維數中元素的總數 。
Array還有其它的一些方法、屬性和成員變數,這些需要在實際的項目中慢慢體會……

10. JS數組去重的幾種常見方法

js 數組去重

1

註:應該也可以適用於 object數組,但是本人沒有進行驗證,貼出來僅供你參考

第一種是比較常規的方法思路:1.構建一個新的數組存放結果2.for循環中每次從原數組中取出一個元素,用這個元素循環與結果數組對比3.若結果數組中沒有該元素,則存到結果數組中代碼如下:

Array.prototype.unique1 = function(){ var res = [this[0]]; for(var i = 1; i < this.length; i++){ var repeat = false; for(var j = 0; j < res.length; j++){ if(this[i] == res[j]){ repeat = true; break; } } if(!repeat){ res.push(this[i]); } } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.unique1());

第二種方法比上面的方法效率要高思路:1.先將原數組進行排序2.檢查原數組中的第i個元素 與 結果數組中的最後一個元素是否相同,因為已經排序,所以重復元素會在相鄰位置3.如果不相同,則將該元素存入結果數組中代碼如下:

Array.prototype.unique2 = function(){ this.sort(); //先排序 var res = [this[0]]; for(var i = 1; i < this.length; i++){ if(this[i] !== res[res.length - 1]){ res.push(this[i]); } } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.unique2());

二種方法也會有一定的局限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變數組的順序去重,那這種方法便不可取了。第三種方法(推薦使用)思路:1.創建一個新的數組存放結果2.創建一個空對象3.for循環時,每次取出一個元素與對象進行對比,如果這個元素不重復,則把它存放到結果數組中,同時把這個元素的內容作為對象的一個屬性,並賦值為1,存入到第2步建立的對象中。說明:至於如何對比,就是每次從原數組中取出一個元素,然後到對象中去訪問這個屬性,如果能訪問到值,則說明重復。代碼如下:

Array.prototype.unique3 = function(){ var res = []; var json = {}; for(var i = 0; i < this.length; i++){ if(!json[this[i]]){ res.push(this[i]); json[this[i]] = 1; } } return res;}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];alert(arr.unique3());

閱讀全文

與數組常用的方法相關的資料

熱點內容
分數計算方法圖片 瀏覽:64
華應龍介紹的讀書方法有哪些 瀏覽:585
豆芽怎麼種植方法視頻 瀏覽:621
牙髓炎症狀不治療方法 瀏覽:973
碳元素分析用什麼方法 瀏覽:753
成人排氣的方法和技巧 瀏覽:590
孩子鼻甲肥大有什麼方法 瀏覽:990
熱容膠粘書脊的方法視頻 瀏覽:274
卓立特餌料如何使用方法 瀏覽:806
痤瘡的治療小方法 瀏覽:266
汽車安裝兩台dsp方法 瀏覽:509
迷你世界打狙方法怎麼百發百中 瀏覽:204
冷庫銅管保溫包紮帶方法視頻 瀏覽:560
兩條鐵絲的電線連接方法 瀏覽:570
小米5s顯示桌面時間怎麼設置在哪裡設置方法 瀏覽:498
楊冪玉石鑒別方法 瀏覽:608
抽桿文件夾使用方法 瀏覽:341
鍛煉性能力最有效的方法 瀏覽:7
檢查滅火器的正確方法是 瀏覽:927
瓜萸種植方法圖片大全 瀏覽:870