从List中获取唯一/未重复的值

Akh*_*oes 2 java algorithm arraylist

我有一个tmp_list可能包含重复值的ArrayList .我的目标是填充另一个ArrayList filtered_tmp_list,每个值只出现一次.这是我做的:

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);
}
Run Code Online (Sandbox Code Playgroud)

我的想法是检查一个值-already in filtered_tmp_list- 是否tmp_list多次存在,如果是,我什么都不做,否则:如果doubled等于零,则意味着值应插入filtered_tmp_list.

好吧,正如你所料,我在这里因为我重复了价值......我错过了什么?

谢谢.

zer*_*ool 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 ++ ;
        }
    }
Run Code Online (Sandbox Code Playgroud)