package com.ven.java8.foreach;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.ven.java8.method.references.CreateFactory;
/**
* 测试使用java8 操作List/Map
*
* @author xiaowen
*
*/
public class TestCollections {
public static void main(String[] args) {
// 操作Map部分
Map<String, Integer> items = new LinkedHashMap<>();
items.put("小白", 10);
items.put("小文", 20);
items.put("小君", 30);
items.put("KD", 40);
items.put("ws", 50);
items.put("XJ", 60);
for (Map.Entry<String, Integer> entry : items.entrySet()) {
System.err.println("使用java8之前的版本/姓名 : " + entry.getKey() + " 分数 : " + entry.getValue());
}
//java8版本
items.forEach((k,v)->{
System.err.println("使用java8循环 /姓名 : " +k + " 分数 : " + v);
});
items.forEach((k,v)->{
if(k.equals("小文")){
System.out.println("hello "+k);
}
});
System.out.println("------华丽的分割线-----");
//操作List部分
List<User> itemsList = new ArrayList<>();
User user1 =CreateFactory.create(User::new);
user1.setId("1");
user1.setUserName("xw");
user1.setAge("12");
itemsList.add(user1);
User user2 =CreateFactory.create(User::new);
user2.setId("2");
user2.setUserName("xj");
user2.setAge("23");
itemsList.add(user2);
for(User item : itemsList){
System.out.println(item.getId()+"-"+item.getUserName()+"-"+item.getAge());
}
System.out.println("------华丽的分割线-----");
//java8版本
itemsList.forEach(item->{
System.out.println(item.getUserName());
});
//条件过滤
itemsList.forEach(item->{
String userName = item.getUserName();
if(userName.equals("xj")){
System.out.println("大家好我是"+userName);
}
});
//方法的引用
itemsList.forEach(System.out::println);
//stream and filter
itemsList.stream().filter(itemuser->itemuser.getUserName().equals("xj")).forEach(item ->{
System.out.println("...........stream........");
System.err.println(item.getUserName());
});
}
}
附带User
package com.ven.java8.foreach;
public class User {
private String id;
private String userName;
private String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}