온라인 Java 컴파일러에서 실행할 수 있습니다. https://www.codechef.com/ide java8을 선택하십시오.목록의 특정 값 얻기 Java
다른 값을 검색하는 코드는 다음과 같습니다. 'Java'를 검색하면 '18'만 인쇄됩니다. 이 코드는 반환합니다 : [Person (Java, 18)] 내 질문 그냥 '18'인쇄하는 방법?
import java.util.*;
class LinearSearchDemo {
public static void main (String[] args) {
List<Person> list = Arrays.asList(
Person.create("Oscar", 16),
Person.create("Oei", 17),
Person.create("Java", 18)
);
List<Person> result = searchIn(list,
new Matcher<Person>() {
public boolean matches(Person p) {
return p.getName().equals("Java");
}});
System.out.println(result);
}
public static <T> List<T> searchIn(List<T> list , Matcher<T> m) {
List<T> r = new ArrayList<T>();
for(T t : list) {
if(m.matches(t)) {
r.add(t);
}
}
return r;
}
}
class Person {
String name;
int age;
String getName(){
return name;
}
int getAge() {
return age;
}
static Person create(String name, int age) {
Person p = new Person();
p.name = name;
p.age = age;
return p;
}
public String toString() {
return String.format("Person(%s,%s)", name, age);
}
}
interface Matcher<T> {
public boolean matches(T t);
}
변경을 시도 :'반환 시대;'. –
'result.stream(). forEach (p -> System.out.println (p.age))'. –