導航:首頁 > 編程語言 > java遍歷set

java遍歷set

發布時間:2024-10-22 22:06:35

1. java的集合類型有哪些

Java集合類型主要有3種:set(集)、list(列表)和map(映射)。

Collection、Set和List的區別如下:
Collection對象之間沒有指定的順序,允許有重復元素和多個null元素對象;它是Set和List介面的父類,是一種最通用型的集合介面;

Set各個元素對象之間沒有指定的順序,不允許有重復元素,最多允許有一個null元素對象;
List各個元素對象之間有指定的順序,允許重復元素和多個null元素對象;

2. 如何將JAVA的SET集合中的數據直接存儲到資料庫中

循環遍歷set的元素,通過java.sql.PreparedStatement的setObject方法將set的元素按順序放入預編譯的參數化SQL中

3. java 關於set集合遍歷的問題。我列印不出學生信息怎麼辦

set集合遍歷列印不出學生信息,說明方法錯誤。
正確對 set 遍歷,即可實現列印,具體方法如下:
1、迭代遍歷:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}

2、for循環遍歷:
for (String str : set) {
System.out.println(str);
}

優點還體現在泛型 假如 set中存放的是Object 。

Set<Object> set = new HashSet<Object>();
for循環遍歷:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}

4. java里set list 為什麼能遍歷集合

list和set集合是java中最常見的兩種數據結構,都是Collection的子集,今天就簡單的說說他們兩者的遍歷以及相互轉化吧。

一、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循環
for(String value : list){
System.out.println(value);
}

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

}
}

分析一下這三種遍歷吧,第一種迭代器的遍歷,執行過程中會進行數據鎖定,性能上是安全的,效率較低;
第二種,是java新語法,增強型for循環,其中內部也是調用了迭代器;
第三種,直接使用取數組的方式,效率最快,但會有多線程安全問題。
原理如下:
ArrayList底層是採用數組來保存數據的,對於訪問數組里的數據來說,直接採用數組索引當然是最快的了,相當於直接從內存讀取數據,其他的兩種迭代方式,實際上都是一種,即iterator,foreach包裝了一下;iterator遍歷最終還是要通過索引來訪問數據,源碼中對應的get方法了。

Set的遍歷和List類似,由於set沒有get方法,所有第三種是不可以的;
總結:綜合考慮使用第二種,增強型for循環就可以

二、List和Set相互轉化:
這個需求一般也不多,直接上代碼吧:
/**
* List和Set的轉化(Set轉化成List)
*/
public static <T> List<T> SetToList(Set<T> set) {
List<T> list = new ArrayList<>();
list.addAll(set);
return list;
}
使用泛型實現。不過值得注意的是,list轉化成set會丟失數據,重復數據會丟失。

5. Java中Set集合怎樣用for遍歷

增強型的for循環 和普通for循環一樣
增強型的for循環 優點主要體現在集合中,隨便舉個例子
比如對 set 的遍歷
一般是迭代遍歷:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
for循環遍歷:
for (String str : set) {
System.out.println(str);
}
是不是簡單些?

優點還體現在泛型 假如 set中存放的是Object

Set<Object> set = new HashSet<Object>();
for循環遍歷:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}

唯一的缺點就是 在遍歷 集合過程中,不能對集合本身進行操作
for (String str : set) {
set.remove(str);//錯誤!
}

閱讀全文

與java遍歷set相關的資料

熱點內容
安卓拉長腿是什麼功能 瀏覽:193
程序員要怎樣考認證 瀏覽:636
單片機pwm的應用 瀏覽:469
腰2壓縮性骨折用不用做手術 瀏覽:611
數據結構有向圖入度演算法 瀏覽:932
梁一定有加密區嗎 瀏覽:193
伺服器地址填空 瀏覽:278
紋發加密發縫副作用 瀏覽:398
星際爭霸解壓了還是進不去 瀏覽:196
有個聚會玩的APP叫什麼往來 瀏覽:167
php實現redis消息隊列 瀏覽:704
一汽租賃解壓南京 瀏覽:731
伺服器PCIE插槽干什麼 瀏覽:810
解壓不走c盤 瀏覽:604
瞿欣欣程序員 瀏覽:212
抖音點贊源碼出售 瀏覽:961
學計算機什麼解壓軟體好 瀏覽:238
高鐵上如何尋找程序員 瀏覽:751
pubgmobile怎麼轉移伺服器 瀏覽:993
原神升級文件夾 瀏覽:55