1 遍历数组
①循环遍历数组有2中方式,遍历一维数组只需要一个for循环,遍历二维数组需要2个for循环。
publicstaticvoidmain(String[]
args) {
Stringarr[][] =new
String[][] { {
"a"}, {
"a",
"b" },{"a","b","c"
} };
for
(
inti
= 0;
i <
arr.length;i++)
{
for
(
intj
= 0;
j <
arr[i].length;j++)
{
System.out.print(arr[i][j]);
}
System.out.println();
}
}
②for-each语句遍历
publicstaticvoidmain(String[]
args) {
Stringarr[][] =new
String[][] { {
"a"}, {
"a",
"b" },{"a","b","c"
} };
for
(String[]
i :
arr) {//外层遍历得到一维数组
for
(String
j :
i) {//内层遍历得到数组元素
System.out.print(j);
}
System.out.println();
}
}
2 遍历List
①for循环:
publicstaticvoidmain(String[]
args) {
List<String>list=new
ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for(int
i=0;
i<
list.size();
i++){
System.out.println(list.get(i));
}
}
②for-each语句遍历
for(Stringtmp
:
list){
System.out.println(tmp);
}
③迭代器遍历
Iterator<String>tmp=list.iterator();
while(tmp.hasNext()){
System.out.println(tmp.next());
}
------------------------------------------------------------
for(Iterator<String>tmp=list.iterator();tmp.hasNext();){
System.out.println(tmp.next());
}
3 遍历Map
①键和值都需要(for-each循环)
publicstaticvoidmain(String[]
args) {
Map<String,String>map=new
HashMap<String, String>();
map.put("a","b");
map.put("c","d");
map.put("e","f");
for(Map.Entry<String,String>entry:map.entrySet()){
System.out.println("key="+entry.getKey()+",value="+entry.getValue());
}
}
②只需要键或者值(可以通过keySet或values来实现遍历,而不是entrySet)
for(Stringkey:map.keySet()){
System.out.println("key="+key);
}
-------------------------------------------------------------------
for(Stringvalue:map.values()){
System.out.println("value="+value);
}
③Itreator遍历
Iterator<Map.Entry<String, String>>tmp=map.entrySet().iterator();
while(tmp.hasNext()){//使用泛型
Map.Entry<String, String>tm=tmp.next();
System.out.println("key="+tm.getKey()+",value="+tm.getValue());
}
-----------------------------------------------------------
Iterator
tmp=map.entrySet().iterator();
while(tmp.hasNext()){//不使用泛型
Map.Entry
tm= (
Map.Entry) tmp
.next();
Stringkey
= (String)
tm.getKey();
Stringvalue
= (String)
tm.getValue();
System.out.println("Key
= " +
key +
", Value = "+
value);
}
你也可以在keySet和values上应用同样的方法
④通过键找值遍历(效率低)
for(Stringkey:map.keySet()){
Stringvalue=map.get(key);
System.out.println("key="+key+",value="+value);
}