----ArrayList的问题----- 你的逻辑不对,循环的次数应该是你要添加的元素个数,然后在每次循环时用ArrayList的contains方法判断是否存在相等的元素,不存在则添加 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用这个:LinkedHashSet 代替ArrayList if (arrWords.size() == 0){ arrWords.add(str);}for(int arrSize = 0; arrSize < arrWords.size(); arrSize++){ if(str.equals(arrWords.get(arrSize).toString())) { break; } else { arrWords.add(str); }} arrWords.get(arrSize)的类型好象与str不匹配啊! ArrayList arrWords = new ArrayList(); String[] str ={"a","b","d","a","e",}; for(int arrSize=0; arrSize<str.length; arrSize++) { if(arrWords.contains(str[arrSize])) { continue; } else{ arrWords.add(str[arrSize]); } } ArrayList中好像本来就不能添加互相等的元素? //按照楼主的意思改写的import java.util.*;public class Test{ public static void main(String[] args) { ArrayList arrWords = new ArrayList(); arrWords.add("heelo"); arrWords.add("world"); arrWords.add("Test"); String str ="Test";for(int arrSize=0; arrSize< arrWords.size(); arrSize++) //不是<=而是<{ if(str .equals(arrWords.get(arrSize))) { break; } else { arrWords.add(str ); }}for(int arrSize=0; arrSize< arrWords.size(); arrSize++)System.out.println(arrWords.get(arrSize)); }} 同上(zjpangxie(老婆跳槽了,工资翻了三倍,这下更没地位了)); 我的问题是:要将我从文件中读出来的单词一个一个的添加到ArrayList中,总工有多少个单词是不知道的,而ArrayList中开始时并没有其它的单词,是一个空的,现在当我想ArrayList中添加单词时,我想判断一下要加入的单词在ArrayList中存在不存在,如果不存在的话就添加,反之就不添加..问题关键是当我向其中添加第一个元素时,此时ArrayList的是空的,这样就会有问题产生!但不知道如何解决!!!大家的方法我试了一下,好象都不行,还请多多帮忙!!!!!! 当你读进ArrayList时,你不管有什么(是空也好,有数据也好)就添入ArrayList,是空就是add(""),这样就是说ArrayList里面肯定存有对象,然后取值的时候,在循环体里作判断,这样应该就行了吧。//(小胡叉) 其实象你这种需求应该用HashSet,TreeSet,LinkedHashSet之类的,免得自己判断到底有没有。如果非要用ArrayList那么for(int arrSize=0; arrSize< arrWords.size(); arrSize++) { if(str .equals(arrWords.get(arrSize))) //当然要两个for循环,才能满足你的需求~ { break; } if(arrSize<=arrWords.size()) arrWords.add(str ); } 请问这个语句:enableEvents(AWTEvent.WINDOW_EVENT_MASK);的含义是什么 精度问题讨论 一个acess数据库更新的问题 请教在类中定义的变量和在类中的成员函数里定义的变量的区别 新手的问题 帮忙讲一下,谢谢:) JNA调用dll时crash了。求教大牛 如何防止Class文件反编译 《Thinking in Java》里关于线程群组的一个Bug,麻烦大家帮帮忙,这也许是第三版会改进的地方! 100分求点tag libraries的资料 java能不能设置non-block的读啊? 关于JAVA类的调用问题,在线等待,谢谢
LinkedHashSet 代替ArrayList
{
arrWords.add(str);
}for(int arrSize = 0; arrSize < arrWords.size(); arrSize++)
{
if(str.equals(arrWords.get(arrSize).toString()))
{
break;
}
else
{
arrWords.add(str);
}
}
String[] str ={"a","b","d","a","e",};
for(int arrSize=0; arrSize<str.length; arrSize++)
{
if(arrWords.contains(str[arrSize]))
{
continue;
}
else{
arrWords.add(str[arrSize]);
} }
import java.util.*;
public class Test{
public static void main(String[] args)
{
ArrayList arrWords = new ArrayList();
arrWords.add("heelo");
arrWords.add("world");
arrWords.add("Test");
String str ="Test";
for(int arrSize=0; arrSize< arrWords.size(); arrSize++) //不是<=而是<
{
if(str .equals(arrWords.get(arrSize)))
{
break;
}
else
{
arrWords.add(str );
}
}
for(int arrSize=0; arrSize< arrWords.size(); arrSize++)
System.out.println(arrWords.get(arrSize));
}
}
大家的方法我试了一下,好象都不行,还请多多帮忙!!!!!!
如果非要用ArrayList
那么
for(int arrSize=0; arrSize< arrWords.size(); arrSize++) {
if(str .equals(arrWords.get(arrSize))) //当然要两个for循环,才能满足你的需求~
{
break;
}
if(arrSize<=arrWords.size())
arrWords.add(str );
}