Java遍历数组、List、Set、Map的种种方法
Java遍历数组、List、Set、Map的种种方法
数组或list的遍历
double[] nums = new double[n];
for遍历
for(int i=0;i<nums.length;i++)
{
result += nums[i];
}
for-each遍历
for(double item : nums)
{
result += item;
}
lambda表达式
items.forEach(item->{
if("C".equals(item)){
System.out.println(item);
}
});
直接引用函数
items.forEach(System.out::println);
set集合的遍历
HashSet<Double> nums = new HashSet<Double>();
for遍历
for(Iterator<Double> i = nums.iterator(); i.hasNext(); )
{
result += i.next();
}
for-each遍历
for(double item : nums)
{
result += item;
}
或
for(String i:hs)
{
System.out.println(i);
}
Map的遍历
foreach
推荐方式
for (Map.Entry<String, Integer> entry : items.entrySet()) {
System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());
}
第二种
for (Integer in : map.keySet()) {
//map.keySet() 返回的是所有key的值
String str = map.get(in); //得到每个key多对用value的值
System.out.println(in + " " + str);
}
第三种
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
lambda表达式
items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});