當前位置:首頁 » 編程語言 » javaset數組

javaset數組

發布時間: 2024-12-20 20:53:12

A. java裡面set,map,list的區別是什麼(盡量詳細)

java集合的主要分為三種類型:

  • Set(集)

  • List(列表)

  • Map(映射)

  • 要深入理解集合首先要了解下我們熟悉的數組:

    數組是大小固定的,並且同一個數組只能存放類型一樣的數據(基本類型/引用類型),而JAVA集合可以存儲和操作數目不固定的一組數據。 所有的JAVA集合都位於 java.util包中! JAVA集合只能存放引用類型的的數據,不能存放基本數據類型。

    簡單說下集合和數組的區別:(參考文章:《Thinking In Algorithm》03.數據結構之數組)

Java所有「存儲及隨機訪問一連串對象」的做法,array是最有效率的一種。

1、
效率高,但容量固定且無法動態改變。
array還有一個缺點是,無法判斷其中實際存有多少元素,length只是告訴我們array的容量。

2、Java中有一個Arrays類,專門用來操作array。
arrays中擁有一組static函數,
equals():比較兩個array是否相等。array擁有相同元素個數,且所有對應元素兩兩相等。
fill():將值填入array中。
sort():用來對array進行排序。
binarySearch():在排好序的array中尋找元素。
System.array():array的復制。

若撰寫程序時不知道究竟需要多少對象,需要在空間不足時自動擴增容量,則需要使用容器類庫,array不適用。所以就要用到集合。

那我們開始討論java中的集合。

集合分類:

Collection:List、Set
Map:HashMap、HashTable

B. java 多個set寫出數組形式

public
static
void
main(string[]
args)
{
int[]
a={1,2,3};
int[]
b={2,3,1};
arrays.sort(b);
system.out.println(arrays.tostring(a).equals(arrays.tostring(b)));
}
如果樓主每個數組都排序的話,你可以用arrays.tostring(a)將裡面的數組轉換成string用string的equals判斷下就能找到了.
這樣的話,你寫一個很簡單的方法遍歷下不就行了,不存在再存,存在就不存了
.
貌似也沒什麼好的方法了

C. java程序中數組去重的方法有哪些

在Java程序中去除數組重復元素的方法多種多樣,以下為幾種常用方法:

首先,使用Set集合去重。Set集合的特性是不允許重復元素,因此可以將數組元素加入到Set集合中,最後再將Set集合轉換為數組,達到去除重復元素的目的。

其次,利用ArrayList的特性,將數組元素逐一添加至ArrayList中,同樣可以實現去除重復元素。由於ArrayList內部實現原理與Set類似,因此具有類似的去重效果。

使用HashSet也是去除數組重復元素的有效方法。HashSet與Set集合類似,擁有不允許重復元素的特性,適用於快速去重操作。

對於需要保持元素添加順序的場景,可選擇使用LinkedHashSet。它不僅保證了元素的不重復性,還維護了元素的添加順序,適用於在去重的同時保留原有元素順序的場合。

使用TreeSet進行去重也是可行的。TreeSet內部基於紅黑樹實現,具有自動排序功能,且不允許重復元素。通過將數組元素加入至TreeSet中,再將其轉換為數組,即可實現去重。

最後,使用雙重循環方法去重。此方法較為基礎,通過外層循環遍歷數組元素,內層循環從外層循環的下一個元素開始比較,一旦發現重復元素則跳過。這種方法雖然簡單,但效率較低,適用於數組元素數量較少的情況。

D. Java數組中重復數據的刪除

java數組中去掉重復數據可以使用set集合,set本身內部是不保存重復的數據的,如下代碼:

importjava.util.Arrays;
importjava.util.Set;
importjava.util.TreeSet;

publicclassceshi{
publicstaticvoidmain(String[]args){

int[]testArr={5,5,1,2,3,6,-7,8,6,45,5};//新建一個int類型數組
System.out.println(Arrays.toString(testArr));
Set<Integer>set=newTreeSet<Integer>();//新建一個set集合
for(inti:testArr){
set.add(i);
}
Integer[]arr2=set.toArray(newInteger[0]);
//數組的包裝類型不能轉只能自己轉;吧Integer轉為為int數組;
int[]result=newint[arr2.length];
for(inti=0;i<result.length;i++){
result[i]=arr2[i];
}
System.out.println(Arrays.toString(arr2));
}
}

運行結果如下:

E. java的數組裡面可以放set嗎

只要你的數組類型是set類型的就可以

F. Java中set方法傳遞一個數組,用get方法怎麼獲取數組中的內容

package test2;

import java.util.Arrays;

public class test2_test6 {
int[] i;

void setI(int[] i) {
this.i = i;
}

//兩種方法
//第一種,直接列印數組
String getI_value1() {
return Arrays.toString(i);
}

//第二種,循環遍歷
String getI_value2() {
StringBuilder s = new StringBuilder();
for (int i_value : i) {
s.append(i_value);
s.append(" ");
}
return s.toString();
}

public static void main(String[] args) {
int[] Array = {1, 2, 3, 4, 5};
test2_test6 t2_t6 = new test2_test6();
t2_t6.setI(Array);
System.out.println("第一種方法獲取值:");
System.out.println(t2_t6.getI_value1());
System.out.println("第二種方法獲取值:");
System.out.println(t2_t6.getI_value2());
}
}

熱點內容
重載是編譯時的多態性 發布:2024-12-21 02:42:17 瀏覽:963
apn配置什麼意思 發布:2024-12-21 02:36:43 瀏覽:467
小米手機如何獲得無線網密碼 發布:2024-12-21 02:36:41 瀏覽:627
泉州交電費戶號密碼是多少 發布:2024-12-21 02:28:31 瀏覽:632
公司內部儲存伺服器搭建 發布:2024-12-21 02:17:37 瀏覽:812
如何在電腦上查看電腦配置 發布:2024-12-21 02:17:37 瀏覽:935
曙光龍芯伺服器管理口地址 發布:2024-12-21 02:12:54 瀏覽:56
網站源碼漏洞 發布:2024-12-21 02:09:10 瀏覽:887
如何導致伺服器回檔 發布:2024-12-21 01:51:01 瀏覽:738
安卓系統怎麼把亮度再調低些 發布:2024-12-21 01:49:38 瀏覽:706