@Test
public void 単語と文字数のMapに集める(){
Map<String, Integer> map = words.stream()
.collect(Collectors.toMap(s -> s, s -> s.length()));
System.out.println(map);
}
45.
@Test
public void 一番短い単語を取得する(){
String defaultStr = "none.";
String ans = words.stream()
.sorted(Comparator.comparing(String::length))
.findFirst()
.orElse(defaultStr);
System.out.println(ans);
}
46.
@Test
public void 一番長い単語を取得する(){
String defaultStr = "none.";
String ans = words.stream()
.sorted(Comparator.comparing(String::length).reversed())
.findFirst()
.orElse(defaultStr);
System.out.println(ans);
}
47.
@Test
public void 単語の長さを合計する(){
int defaultInt = 0;
int ans = words.stream()
.map(word -> word.length())
.reduce(defaultInt, (x, y) -> x + y);
System.out.println(ans);
}
@Override
public boolean equals(Objectobject) {
if (object instanceof A) {
A other = (A) object;
return Objects.equals(x, other.getX())
&& Objects.equals(y, other.getY());
}
return false;
}
@Override
public int hashCode() {
return Objects.hash(x, y);
}
A a1 = new A("hello", "world");
A a2 = new A("hello", "world");
assertTrue(a1.equals(a2)); // ← trueになる