나는 사람의 arraylist을 가지고 ArrayList<Person>
. 각 사람은 이름과 나이를 무작위로 얻습니다. 그 ArrayList
의 Person
나는 람다 표현을 사용하여 18 세를 걸러 냈습니다.arraylist의 각 사람에 대한 스레드를 만드는 방법
제 질문은 Arraylist
의 각 필터링 된 Person
에 대해 Thread
을 어떻게 만들 수 있습니까?
내 코드 : Person implements Runnable
의 아이디어는 아주 이상한 소리 것을 나는 대형 제임스에 동의
public class Person implements Runnable
{
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void run() {
// to fill up later
}
}
public class Main {
private static int nameCount = 1;
public static List<Person> list;
public static void main(String[] args) {
list = new ArrayList<Person>();
for (int i = 0; i < 5; i++) {
list.add(new Person(getPersonName(), getPersonAge());
}
list.removeIf(p -> p.getage().equals(18));
for (Person person : list) {
System.out.println(persion);
}
}
public static String getPersonName() {
String nameto = "PERSON" + String.valueOf(nameCount);
nameCount++;
return nameto;
}
public static int getPersonAge() {
Random ran = new Random();
int ageperson = ran.nextInt(25) + 1;
return ageperson;
}
//how to make an instance of Thread after filtering the person
}
:
filter
그래서 결과는 다음 될 것
그러나 당신은 StreamAPI 및 방법
foreach
를 사용할 수있는 목록의 각 항목에 대한 몇 가지 논리를 구현하는 방법이, 나 또한 방법을 사용하는 것이 좋습니다 그림의 형태로 된 코드는 일반적으로 그렇게 잘 받아 들여지지 않습니다. – Timo에 오신 것을 환영합니다 :) @TimoSta 제안에 뒤이어, 스크린 샷을 게시하는 대신 질문을 편집하고 코드를 복사/붙여 넣기하십시오. –
'사람이 Runnable을 구현한다 '는 아이디어는 매우 이상하게 들립니다. 어떤 사람을 "도망"한다는 것은 무엇을 의미합니까? 배경 스레드에있는 사람에게 할 일이 여러 개있을 때 그 의미는 무엇입니까? –