遍历 ArrayList
public class Test {public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("Hello");
list.add("World");
list.add("HAHAHAHA");
//第一种遍历方法使用foreach遍历List
for (String str : list) { //也可以改写for(int i=0;i<list.size();i++)这种形式
System.out.println(str);
}
//第二种遍历,把链表变为数组相关的内容进行遍历
String[] strArray=new String[list.size()];
list.toArray(strArray);
for(int i=0;i<strArray.length;i++) //这里也可以改写为 foreach(String str:strArray)这种形式
{
System.out.println(strArray[i]);
}
//第三种遍历 使用迭代器进行相关遍历
Iterator<String> ite=list.iterator();
while(ite.hasNext())//判断下一个元素之后有值
{
System.out.println(ite.next());
}
}
}
解析:
三种方法都是用来遍历ArrayList集合,第三种方法是采用迭代器的方法,该方法可以不用担心在遍历的过程中会超出集合的长度。
遍历 Map
public
class
Test
{
public
static
void
main
(
String
[
]
args
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>
(
)
;
map
.
put
(
"
1
"
,
"
value1
"
)
;
map
.
put
(
"
2
"
,
"
value2
"
)
;
map
.
put
(
"
3
"
,
"
value3
"
)
;
//
第一种:普遍使用,二次取值
System
.
out
.
println
(
"
通过Map.keySet遍历key和value:
"
)
;
for
(
String
key
:
map
.
keySet
(
)
)
{
System
.
out
.
println
(
"
key=
"
+
key
+
"
and value=
"
+
map
.
get
(
key
)
)
;
}
//
第二种
System
.
out
.
println
(
"
通过Map.entrySet使用iterator遍历key和value:
"
)
;
Iterator
<
Map
.
Entry
<
String
,
String
>>
it
=
map
.
entrySet
(
)
.
iterator
(
)
;
while
(
it
.
hasNext
(
)
)
{
Map
.
Entry
<
String
,
String
>
entry
=
it
.
next
(
)
;
System
.
out
.
println
(
"
key=
"
+
entry
.
getKey
(
)
+
"
and value=
"
+
entry
.
getValue
(
)
)
;
}
//
第三种:推荐,尤其是容量大时
System
.
out
.
println
(
"
通过Map.entrySet遍历key和value
"
)
;
for
(
Map
.
Entry
<
String
,
String
>
entry
:
map
.
entrySet
(
)
)
{
System
.
out
.
println
(
"
key=
"
+
entry
.
getKey
(
)
+
"
and value=
"
+
entry
.
getValue
(
)
)
;
}
//
第四种
System
.
out
.
println
(
"
通过Map.values()遍历所有的value,但不能遍历key
"
)
;
for
(
String
v
:
map
.
values
(
)
)
{
System
.
out
.
println
(
"
value=
"
+
v
)
;
}
}
}