2011-04-22 5 views
0

나는목록의 순서를 바꾸는 방법은 무엇입니까?

List<NameValuePair> infoMap = new ArrayList<NameValuePair>(); 
URLEncodedUtils.parse(infoMap, new Scanner(Info), encoding); 

하여 목록을 만들었습니다하지만 infoMap 난 단지 값의 몇 필요가있는 많은 정보가 포함되어 있습니다.

필요한 키와 값만 포함하는 새 List를 만들려면 어떻게해야합니까? 새 목록을 만들 필요가 있고, 항목이 결과 목록의 일부가 아닌지 여부를 결정하는 기준에 대해 매우 조용하기 때문에

답변

1

, 내가 생각할 수있는 가장 간단한 것은

입니다

final List<NameValuePair> resultList = getUsefulList(baseList); 
: 이러한 방법으로
private List<NameValuePair> getUsefulList(final List<NameValuePair> baseList) 
{ 
    final List<NameValuePair> list = new ArrayList<NameValuePair>(); 
    for (final NameValuePair item : baseList) 
    { 
     if (isUseful(item.getName())) 
      list.add(item); 
    } 
    return list; 
} 

private boolean isUseful(String name) 
{ 
    return [... decision based on your criteria ...]; 
} 

당신은 당신의 새로운 목록을 만들 수 있습니다

1
boolean isNeeded(Strnig name){ 
    //check here if you need this key 
    return true; 
} 

List<NameValuePair> infoMap = new ArrayList<NameValuePair>(); 
... 
List<NameValuePair> realInfoMap = new ArrayList<NameValuePair>(); 
for(NameValuePair val:infoMap){ 
    if(isNeeded(val.getName())){ 
    realInfoMap.add(val); 
    } 
} 

URLEncodedUtils.parse(realInfoMap, new Scanner(Info), encoding); 
관련 문제