안녕하세요.

 

리스트를 만들때 문자열 이름별로 정렬을 하려고 합니다.

 

그런데 숫자로 되어진 경우 잘못 정렬이 되어지고 있습니다.

 

English 1

English 10

English 11

English 2

English 3

 

이런식으로 정렬이 되어지고 있는데요...

 

현재 사용하는 방법은

 

Collections.sort(listFile, fileNameComparator);

 

 

private final static Comparator<String> fileNameComparator = new Comparator<String>()
 {
  private final Collator collator = Collator.getInstance();
  
  @Override
  public int compare(String item1, String item2)
  {
   return collator.compare(item1, item2);
  }
 };

 

 

이렇게 사용하고 있습니다.

 

어떻게 하면 숫자로 되어진 이름의 경우

 

English 1

English  10

English  11

English  2

English  3 

 

순서가 아닌

 

English 1

English 2

English 3

English 10

English 11

 

순으로 되어질까요?