인프런 커뮤니티 질문&답변
강의에서는 잘 되는데...
작성
·
234
0
예제 코드를 활용해서 공부를 하던 중
잘 모르겟는게 보이는데요...
그건 바로 코드는 눈을 씻고 찾아봐도 동일한데
정렬이 절대 안되는 겁니다.
무슨말이냐면...
_01_before의 Client.java에서
코드는 물론 똑같이 작성했고요...
package me.whiteship.designpatterns._03_behavioral_patterns._16_iterator._01_before;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class Client {
public static void main(String[] args) {
Board board = new Board();
board.addPost("디자인 패턴 게임");
board.addPost("선생님, 저랑 디자인 패턴 하나 학습하시겠습니까?");
board.addPost("지금 이 자리에 계신 여러분들은 모두 디자인 패턴을 학습하고 계신 분들입니다.");
// TODO 들어간 순서대로 순회하기
List<Post> posts = board.getPosts();
for (int i = 0 ; i < posts.size() ; i++) {
Post post = posts.get(i);
System.out.println(post.getTitle());
}
// TODO 가장 최신 글 먼저 순회하기
Collections.sort(posts, (p1, p2) -> p2.getCreatedDateTime().compareTo(p1.getCreatedDateTime()));
for (int i = 0 ; i < posts.size() ; i++) {
Post post = posts.get(i);
System.out.println(post.getTitle());
}
}
}
실행하면 분명 Collection.sort로 정렬을 했는데
결과는 다음과 같습니다.
-+----------
디자인 패턴 게임
선생님, 저랑 디자인 패턴 하나 학습하시겠습니까?
지금 이 자리에 계신 여러분들은 모두 디자인 패턴을 학습하고 계신 분들입니다.
디자인 패턴 게임
선생님, 저랑 디자인 패턴 하나 학습하시겠습니까?
지금 이 자리에 계신 여러분들은- 모두 디자인 패턴을 학습하고 계신 분들입니다.
-------------------
당황스러운 것은 제가 이것을 같이 따라서 작성해보고 실행을 했는데 이러한 결과가 나와서 git에 올려두신 파일을 돌려봣는데 다음과 같은 결과가 나온 것입니다.
제가 무엇을 놓치고 있는 걸까요?
퀴즈
요청을 처리하는 객체들을 체인으로 연결하여, 요청을 해당 객체들에게 순차적으로 전달함으로써 송신자와 수신자의 결합도를 낮추는 패턴은 무엇일까요?
Command 패턴
Iterator 패턴
Chain of Responsibility 패턴
Mediator 패턴
답변 1
0
일부러 Thread를 걸어보니 컴퓨터 성능이 너무 좋아서... LocalDateTime 비교 자체가 불가능(?)햇는지 모르겟으나... 너무 찰나의 시간에 객체가 만들어지니 시간이 다 똑같다고 판단해서 정렬이 안되었던것 같습니다. 열심히 공부하겟습니다...,






board.java
Post.java
컴퓨터는 거짓말을 하지 않는다지만 정말 저는 모르겟네요...