命令型
import java.util.*;
public class FindNemo {
public static void main(String[] args) {
List<String> names = ArraysList.asList("Dory", "Gill", "Bruce", "Nemo", "Dalra", "Marlin", "Jacques");
findNemo(names);
}
public void findNemo(List<String> names) {
boolean found =false;
for (String name : names) {
if (name.equals("Nemo")) {
found = true;
break;
}
}
if (found)
System.out.println("Found Nemo");
else
System.out.println("Nemo not found");
}
}
宣言型スタイル
public void fineNemo(List<String> names) {
if (names.contains("Nemo")) {
System.out.println("Found Nemo");
else
System.out.println("Nemo not found");
}
}
関数型スタイル
宣言型(Declarative) + 高階関数(hight-order)
命令型スタイル
import java.util.*;
public class UseMap {
public static void main(String[] args) {
Map<String, Integer> pageVisits = new HashMap<>();
String page = "https://agileDeveloper.com";
incrementPageVisit(pageVisits,page);
incrementPageVisit(pageVisits,page);
System.out.println(pageVisits.get(pageVisits);
}
public static void incrementPageVisits(MAP<String, Integer> pageVisits, String page) {
if (!pageVisits.containKey(page)) {
pageVisits.put(page, 0);
}
pageVisits.put(page,pageVisits.get(page) + 1);
}
}
public static void incrementageVisits(Map<String, Integer> pageVisits, String page) {
pageVisits.merge(page, 1, (oldValue, value) -> oldValue + value);
}