노드 상태를 수집하기 위해 서로 다른 크기의 세 가지 배열이 있는데 각각 하나씩 생성하는 대신 하나의 루프로 반복하고 싶습니다. 정수로 배열을 명명하고 while/for 루프와 incrementing을 사용하는 예제를 보았지만 현재 배열 이름을 유지하는 메서드를 찾고 싶습니다. 여기까지 내가 지금까지 가지고있는 것이있다. | 노드 1, 노드 2 - 내가 모든 목록이 어떤 상태를 가지고있는 노드 쉽게 구별 할 수 있도록 별도로 보관하고 싶습니다 .. 즉다른 배열 목록 반복하기
온라인 :
편집
오프라인 - node3, node4 | 알 수없는 -에 Node5, node6private String nodeStatus() {
List<Node> onlineNodes = new ArrayList<Node>();
List<Node> offlineNodes = new ArrayList<Node>();
List<Node> unknownNodes = new ArrayList<Node>();
for(Node n : getNodes()){
if (n.isRunning() == RunningType.ONLINE) {
onlineNodes.add(n);
}
if (n.isRunning() == RunningType.OFFLINE) {
offlineNodes.add(n);
}
if (n.isRunning() == RunningType.UNKNOWN) {
unknownNodes.add(n);
}
}
for (Node element : <online,offline,unknown>) {
System.out.println(element);
}
}
당신은 배열이 아니라 배열에 의해 뒷받침 된 목록을 가지고 있습니다. 왜 반복 전에 그들을 연결하지 않습니까? 꽤 싸구려입니다. 그렇지 않으면 가장 큰 목록을 반복하면서 경계에 대한 쓸모없는 논리 검사가 필요합니다. –
"all"인 네 번째 목록을 유지하고 모든 노드를 추가해야하는 이유는 무엇입니까? – Stewart
죄송합니다 모두 - 죄송 합니다만 - 나는 분명히해야합니다 ... 분리되어 있습니다. 온라인, 오프라인 및 알 수 없음이 각각의 목록에 포함되어 있으므로 어느 노드가 어떤 상태에 있는지 쉽게 구분할 수 있습니다. 여기에 표시되지 않은 것은 노드 상태가 약 30 초마다 업데이트된다는 것입니다. – Jon