javasetfor遍歷
Ⅰ java中Set集合怎樣用for遍歷
//集合,基本都用iterator遍歷。
//假設有個treeSet
TreeSetts=newTreeSet();
ts.add("dd");
Iteratorit=ts.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
Ⅱ java中HashSet怎樣遍歷取出裡面的值給個例子~~
HashSet<String> set=new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
控制台輸出:
3
2
1
對於集合這塊的類都可以這樣寫的,比如你把第一行換成:
ArrayList<String> set=new ArrayList<String>();
後面的程序不動,一樣可以遍歷輸出的。
不太懂的話可以網路Iterator的用法和原理
Ⅲ 在java中,新循環,也就是增強for循環怎麼用是什麼格式
for(String str : set) { System.out.println(str); }for裡面對一個參數是要遍歷集合中元素的類型,第二個表示集合中的元素,第三個是集合。增強for循環的方法:
1、創建一個整型數組,我們就是要遍歷它。
5、這就完成了遍歷數組的操作。
Ⅳ java for循環的執行順序和幾種常用寫法
1:遍歷數組的傳統方式
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int j = 0; j<integers.length; j++){
int i = integers[j];
System.out.println(i);
}
2:遍歷Collection對象的傳統方式
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
Object str = itr.next();
System.out.println(str);
}
3:遍歷數組的簡單方式
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
4:遍歷數組的簡單方式的等價代碼
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int 變數名甲 = 0; 變數名甲<integers.length; 變數名甲++) {
System.out.println(integers[變數名甲]);/* 依次輸出「1」、「2」、「3」、「4」 */
}
5:遍歷Collection的簡單方式
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection list = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Object str : list) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
6:遍歷Collection的簡單方式的等價代碼
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Iterator 變數名乙 = list.iterator(); 變數名乙.hasNext();) {
Object str = 變數名乙.next();
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
7:禁止重新賦值
int[] integers = {1, 2, 3, 4};
for (final int i : integers) {
i = i / 2; /* 編譯時出錯 */
}
8:允許修改狀態
Random[] randoms = new Random[]{new Random(1), new Random(2), new Random(3)};
for (final Random r : randoms) {
r.setSeed(4);/* 將所有Random對象設成使用相同的種子 */
System.out.println(r.nextLong());/* 種子相同,第一個結果也相同 */
}
9:使用和要被遍歷的數組中的元素相同類型的循環變數
int[] integers = {1, 2, 3, 4};
for (int i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
10:使用和要被遍歷的Collection中的元素相同類型的循環變數
Collection< String> strings = new ArrayList< String>();
strings.add("A");
strings.add("B");
strings.add("C");
strings.add("D");
for (String str : integers) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
11:使用要被遍歷的對象中的元素的上級類型的循環變數
String[] strings = {"A", "B", "C", "D"};
Collection< String> list = java.util.Arrays.asList(strings);
for (Object str : list) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
12:使用能和要被遍歷的對象中的元素的類型自動轉換的類型的循環變數
int[] integers = {1, 2, 3, 4};
for (Integer i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
Ⅳ 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
}
........
}
Ⅵ Java中Set集合怎樣用for遍歷
set是要用迭代器訪問。迭代器好比一個指向元素之間的指針,每移動一次,就指向下一個元素。
迭代器英文叫做Iterator。set有iterator方法,傳給迭代器對象進行迭代。
示例如下:
package cn.util;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
public class SetDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Set set=new HashSet();
List list=new LinkedList();
list.add("1");
list.add("2");
set.add(list);
list=new LinkedList();
list.add("1");
list.add("2");
set.add(list);
set.add("a");
set.add("b");
set.add("a");
Iterator it= set.iterator();
while(it.hasNext())
{
Object ob=it.next();
if(ob instanceof List)
{
System.out.println(ob+" "+"true");
}
else{
System.out.println(ob+" "+"false");
}
}
System.out.println(set.size());
}
}
Ⅶ java iterator循環遍歷集合(比如HashSet)的原理
Iterator<String> it = set.iterator() 這時得到一個迭代器,它的指針位於第一個元素之前。
然後我們不停地 hasNext() 再 next 得到值,當hasNext 為 false 時當然就不能去 next 了。
這背後的位置索引是在迭代器內部記錄著的,我們不能直接改它的值,只能 next 去下一個。
不過像 ListIterator 則是雙向的,可以 previous。遞增遞減都是由 next / previous 方法來操作的。