2014-08-28 5 views
-2

내 콘텐츠 목록을 뒤집어야합니다. Collections.reverse(temp);을 찾았지만 올바르게 구현하는 방법을 모릅니다. '당신이 기준과 일치하는 요소를 추가하려면ArrayList를 뒤집는 방법

// Create the list 
    ArrayList<String> myList = new ArrayList<String>(); 

    // Add some items to it 
    myList.add("one"); 
    myList.add("two"); 
    myList.add("three"); 

    // Reverse it by using Collections utilities. 
    Collections.reverse(myList); 

    Log.i("DEBUG", myList.get(0)); // Should print 'three' 
+0

어떤 종류의 컬렉션을 사용하고 있습니까? –

+0

컬렉션이 있습니까 (예 : Array list). 'Collections.reverse (list);'를 사용하려고 했습니까? – Alexmelyon

+0

최소한 귀하의 목록 코드를 게시하십시오. –

답변

1

당신은

import java.util.Collections; 

를 가져온 다음 간단히

Collections.reverse(results); 
+0

POST로 가서 Return 키를 누르면 작동하지 않습니다. 표시 어디에 내 코드에서 사용해야합니다. 고마워 –

3

사용해야합니다 t는 java8 또는 임의의 기능적 lib, 당신은 건설 루프 후에 그것을 뒤집을 수 있거나,지나 가기 전에 원본을 뒤집을 수 있습니다. 또는 건설 도중 역순으로 트래버스합니다. 사용하여 인덱스 예 :

for(int i = orig.size()-1; i >-1; i--) { 
    //add matching elements to the newly constructed list. 
} 
+0

그것은 작동하지 않는다, 나는 POST로 가서 Return을 누른다. 표시 어디에 내 코드에서 사용해야합니다. 감사합니다. –

+0

이것은 귀하에게 달려 있습니다. 응용 프로그램 별 코드에 대해 묻고 있습니다. 내 대답은 당신이 요구 한 것과 정확히 일치합니다. 우리는 "POST"또는 "return" – Jitsu

1

당신은 돈 :

private class MyFilter extends Filter { 

    @Override 
    protected FilterResults performFiltering(CharSequence constraint) { 

     FilterResults oReturn = new FilterResults(); 
     ArrayList<Advice> results = new ArrayList<Advice>(); 

     if (orig == null) 
      orig = list; 

     if (constraint != null) { 
      if (orig != null) { 
       for (Advice d : orig) { 
        if ((d.getTitle() + " " + d.getText()).toLowerCase() 
          .contains(constraint.toString())) { 
         results.add(d); 
        } 
       } 
      } 
     } 

     list = results; 

     return oReturn; 
    } 

    @Override 
    protected void publishResults(CharSequence constraint, 
      FilterResults results) { 
     notifyDataSetChanged(); 
    } 
} 
1
다음과 같이 코드를 변경

는 : 개인 클래스 MyFilter는 필터 {

@Override 
protected FilterResults performFiltering(CharSequence constraint) { 

    FilterResults oReturn = new FilterResults(); 
    ArrayList<Advice> results = new ArrayList<Advice>(); 

    if (orig == null) 
     orig = list; 

    if (constraint != null) { 
     if (orig != null) { 
      for (Advice d : orig) { 
       if ((d.getTitle() + " " + d.getText()).toLowerCase() 
         .contains(constraint.toString())) { 
        results.add(d); 
       } 
      } 
     } 
    } 

    Collections.reverse(results); 
    oReturn.values = results; 
    oReturn.count = results.size(); 

    return oReturn; 
} 

@Override 
protected void publishResults(CharSequence constraint, 
     FilterResults results) { 
    notifyDataSetChanged(); 
} 

}

그것이

0

최선의 방법에 도움이 될 것입니다 희망 확장 파서 추가 :

Collections.reverse(data); 
System.out.println(data.toString());