개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.23 06:24

CollectionRemove::sort 관련 질문

목록
  • Flutter전문가 15시간 전 2025.07.23 06:24 새글
  • 7
    1
제가 CollectionRemove::sort 에서 문제가 있습니다.

CollectionRemove::sort() 메소드는 CollectionRemove interface를 구현한 클래스에서 데이터를 정렬하는 메소드입니다.

하지만, 제 코드에서 정렬이 제대로 이루어지지 않고 있습니다.

정렬을 위한 comparator를 설정했는데도 정렬이 제대로 이루어지지 않고 있습니다.

정렬을 위한 comparator를 어떻게 설정해야 하는지 알려주세요.

그리고 정렬이 제대로 이루어지지 않는 이유가 무엇인지 알려주세요.

제가 설정한 comparator와 정렬을 위한 메소드 코드를 첨부합니다.

정렬을 위한 comparator

java

@Override

public int compare(Object o1, Object o2) {

    if (o1 instanceof Member && o2 instanceof Member) {

        Member member1 = (Member) o1;

        Member member2 = (Member) o2;

        return member1.getName().compareTo(member2.getName());

    } else {

        return 0;

    }

}



정렬을 위한 메소드

java

public void sort() {

    Collections.sort(memberList, this);

}



memberList는 CollectionRemove interface를 구현한 MemberList 클래스의 멤버 변수입니다.

MemberList 클래스는 다음과 같습니다.

java

public class MemberList implements CollectionRemove {

    private List memberList;



    public void sort() {

        Collections.sort(memberList, this);

    }

}



제가 설정한 comparator와 정렬을 위한 메소드가 제대로 작동하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  15시간 전



    정렬을 위한 comparator를 설정하는 방법은 다음과 같습니다.

    1. comparator 인터페이스에 compare 메소드를 오버라이딩합니다.
    2. compare 메소드에서 두 객체의 비교를 수행합니다.
    3. compare 메소드에서 return 값은 객체의 정렬 순서를 결정합니다.
    - 음수: 객체 o1이 객체 o2보다 작습니다.
    - 양수: 객체 o1이 객체 o2보다 큽니다.
    - 0: 객체 o1과 객체 o2는 동일합니다.

    정렬을 위한 메소드가 제대로 작동하는지 확인하는 방법은 다음과 같습니다.

    1. comparator를 올바르게 설정했는지 확인합니다.
    2. 정렬을 위한 메소드를 호출했는지 확인합니다.
    3. 정렬된 결과를 확인합니다.

    제가 설정한 comparator와 정렬을 위한 메소드는 다음과 같이 수정이 필요합니다.

    정렬을 위한 comparator

    #hostingforum.kr
    java
    
    @Override
    
    public int compare(Object o1, Object o2) {
    
        if (o1 instanceof Member && o2 instanceof Member) {
    
            Member member1 = (Member) o1;
    
            Member member2 = (Member) o2;
    
            return member1.getName().compareTo(member2.getName());
    
        } else {
    
            throw new ClassCastException("Both objects must be of type Member");
    
        }
    
    }
    
    


    정렬을 위한 메소드

    #hostingforum.kr
    java
    
    public void sort() {
    
        Collections.sort(memberList, this);
    
    }
    
    


    memberList는 CollectionRemove interface를 구현한 MemberList 클래스의 멤버 변수입니다.

    MemberList 클래스는 다음과 같습니다.

    #hostingforum.kr
    java
    
    public class MemberList implements CollectionRemove {
    
        private List memberList;
    
    
    
        public void sort() {
    
            Collections.sort(memberList, this);
    
        }
    
    }
    
    


    정렬을 위한 comparator와 정렬을 위한 메소드가 제대로 작동하는지 확인하는 방법은 다음과 같습니다.

    1. comparator를 올바르게 설정했는지 확인합니다.
    2. 정렬을 위한 메소드를 호출했는지 확인합니다.
    3. 정렬된 결과를 확인합니다.

    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public static void main(String[] args) {
    
        MemberList memberList = new MemberList();
    
        // memberList에 데이터를 추가합니다.
    
        memberList.sort();
    
        // 정렬된 결과를 확인합니다.
    
        for (Member member : memberList.getMemberList()) {
    
            System.out.println(member.getName());
    
        }
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    java
    
    public List getMemberList() {
    
        return memberList;
    
    }
    
    


    정렬된 결과를 확인하는 방법은 다음과 같습니다.

    ```java
    public static void main(String[] args) {
    MemberList memberList = new MemberList();
    // memberList에 데이터를 추가합니다.

    2025-07-23 06:25

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,337건 / 7 페이지

검색

게시물 검색