2

tmp_list繰り返し値を含む可能性のある ArrayListがあります。filtered_tmp_list各値が 1 回だけ出現するように、別の ArrayList を埋めることを目指しています。これが私がしたことです:

ArrayList<String> filtered_tmp_list = new ArrayList<String>();

filtered_tmp_list.add((String) tmp_list.get(0));

for(int i=0; i<tmp_list.size(); i++){
    String cmp = (String) tmp_list.get(i) ;
    int doubled = 0;
    for(int j=0; j<filtered_tmp_list.size(); j++){
        String cmpd = (String) tmp_list.get(j) ;
        if(cmp.compareTo(cmpd)==0){
            doubled ++ ;
        }
    }
    if(doubled==0) filtered_tmp_list.add(cmp);
}

私の考えは、値が - すでに入っているfiltered_tmp_list- がtmp_list複数回存在するかどうかを確認することでした。そうであれば何もしませんfiltered_tmp_list

ご想像のとおり、ここにいるのは値が繰り返されるためです...

ありがとう。

4

3 に答える 3

6

どうぞ:

Replace below code it works:

for(int j=0; j<filtered_tmp_list.size(); j++){
        **String cmpd = (String) filtered_tmp_list.get(j) ;**
        if(cmp.compareTo(cmpd)==0){
            doubled ++ ;
        }
    }
于 2013-06-16T11:01:29.787 に答える
1

挿入順が気になる方は

List<String> ret = new ArrayList<String>(new LinkedHashSet<String>(origList));
于 2013-06-16T10:56:08.930 に答える