----ArrayList的问题-----

Powerliang 2004-08-03 11:16:42
ArrayList arrWords = new ArrayList();
String str ="Test"
for(int arrSize=0; arrSize<=arrWords.size(); arrSize++)
{
if(str .equals(arrWords.get(arrSize)))
{
break;
}
else
{
arrWords.add(str );
}
}
我想向一个ArrayList中循环添加互不相等的元素,但是用上面的方法实现不了,有异常,估计是arrWords开始为空的缘故,请问应该如何解决???请指教!!!!!
...全文
124 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaphoon 2004-08-03
  • 打赏
  • 举报
回复
//按照楼主的意思改写的
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));


}
}
hl_longman 2004-08-03
  • 打赏
  • 举报
回复
ArrayList中好像本来就不能添加互相等的元素?
ntzls 2004-08-03
  • 打赏
  • 举报
回复
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]);
}

}
Programmerjacinth 2004-08-03
  • 打赏
  • 举报
回复
arrWords.get(arrSize)的类型好象与str不匹配啊!
lbl20020123 2004-08-03
  • 打赏
  • 举报
回复
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);
}
}
maowu 2004-08-03
  • 打赏
  • 举报
回复
用这个:
LinkedHashSet 代替ArrayList
GaryZhu 2004-08-03
  • 打赏
  • 举报
回复
你的逻辑不对,循环的次数应该是你要添加的元素个数,然后在每次循环时用ArrayList的contains方法判断是否存在相等的元素,不存在则添加
kaphoon 2004-08-03
  • 打赏
  • 举报
回复
其实象你这种需求应该用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 );


}
yiqiangyang 2004-08-03
  • 打赏
  • 举报
回复
当你读进ArrayList时,你不管有什么(是空也好,有数据也好)就添入ArrayList,是空就是add(""),这样就是说ArrayList里面肯定存有对象,然后取值的时候,在循环体里作判断,这样应该就行了吧。//(小胡叉)
vongood 2004-08-03
  • 打赏
  • 举报
回复
gz
Powerliang 2004-08-03
  • 打赏
  • 举报
回复
我的问题是:要将我从文件中读出来的单词一个一个的添加到ArrayList中,总工有多少个单词是不知道的,而ArrayList中开始时并没有其它的单词,是一个空的,现在当我想ArrayList中添加单词时,我想判断一下要加入的单词在ArrayList中存在不存在,如果不存在的话就添加,反之就不添加..问题关键是当我向其中添加第一个元素时,此时ArrayList的是空的,这样就会有问题产生!但不知道如何解决!!!
大家的方法我试了一下,好象都不行,还请多多帮忙!!!!!!
yiqiangyang 2004-08-03
  • 打赏
  • 举报
回复
同上(zjpangxie(老婆跳槽了,工资翻了三倍,这下更没地位了));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧