ArrayList .contain 给出奇怪的输出
Posted
技术标签:
【中文标题】ArrayList .contain 给出奇怪的输出【英文标题】:ArrayList .contain giving strange output 【发布时间】:2014-10-29 07:07:40 【问题描述】:谁能解释一下?我有一个带有字符串的arrayList。我正在使用 !arraylist.contain 来确保我不添加重复项。在下面的代码中,我显示了arraylist中的所有内容,然后使用!arraylist.contain
检查arraylist中是否不存在相同的值
public ArrayList<String> getIsiXhosaRecordings(ArrayList<String> must_download, ArrayList<String> all_filenames)
database = getReadableDatabase();
for(int x = 0; x < all_filenames.size(); x++)
System.out.println("All files: >>>"+all_filenames.get(x)+"<<<");
String[] table_names = "Voice_exercise", "Lesson_exercise";
for(int x = 0; x < table_names.length; x++)
String SQL = "SELECT * FROM "+table_names[x];
Cursor cursor = database.rawQuery(SQL, null);
while(cursor.moveToNext())
String audio_isixhosa = cursor.getString(cursor.getColumnIndex("audio_isixhosa"));
if(!all_filenames.contains(audio_isixhosa));
System.out.println("Audio file: >>>"+audio_isixhosa+"<<<");
return must_download;
还有日志猫:
09-04 15:30:40.188: D/dalvikvm(14202): GC_CONCURRENT freed 65K, 9% free 9852K/10759K, paused 2ms+2ms, total 24ms
09-04 15:30:40.188: W/SQLiteConnectionPool(14202): A SQLiteConnection object for database '/data/data/com.example.molo/databases/molo.db' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.
09-04 15:30:40.298: I/System.out(14202): All files: >>>clock.jpg<<<
09-04 15:30:40.298: I/System.out(14202): All files: >>>confident.jpg<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>correct.png<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>correct.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>crowd.jpg<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e001.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e003.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e004.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e005.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e007.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e008.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e009.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e010.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e011.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e012.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e013.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e014.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e015.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e016.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e017.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e018.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e019.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e020.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e021.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e022.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>e023.wav<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>goodbye.jpg<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>greeting.jpg<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>how.jpg<<<
09-04 15:30:40.308: I/System.out(14202): All files: >>>howareyou.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>images<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>incorrect.png<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>incorrect.wav<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>kioskmode<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>lock.png<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>map.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>molo.db<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>morning.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>pe.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>question.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>question2.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>sounds<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>stranger.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>thembi.jpg<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>unlock.png<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>webkit<<<
09-04 15:30:40.318: I/System.out(14202): All files: >>>what.jpg<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>who.jpg<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>why.jpg<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>world.jpg<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x001.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x002.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x003.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x004.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x005.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x006.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x007.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x008.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x009.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x010.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x011.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x012.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x013.wav<<<
09-04 15:30:40.328: I/System.out(14202): All files: >>>x014.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x015.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x016.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x017.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x018.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x019.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x020.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x021.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x022.wav<<<
09-04 15:30:40.338: I/System.out(14202): All files: >>>x023.wav<<<
09-04 15:30:40.338: I/System.out(14202): Audio file: >>>x001.wav<<<
09-04 15:30:40.338: I/System.out(14202): Audio file: >>>x004.wav<<<
09-04 15:30:40.338: I/System.out(14202): Audio file: >>>x008.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x005.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x010.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x019.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x020.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x021.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x001.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x002.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x003.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x004.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x005.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x006.wav<<<
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x007.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x008.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x009.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x010.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x012.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x013.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x014.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x015.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x016.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x017.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x018.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x022.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x023.wav<<<
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>baboon.wav<<<
09-04 15:35:40.068: W/IInputConnectionWrapper(14202): getSelectedText on inactive InputConnection
09-04 15:35:40.068: W/IInputConnectionWrapper(14202): setComposingText on inactive InputConnection
09-04 15:35:40.068: W/IInputConnectionWrapper(14202): getExtractedText on inactive InputConnection
我添加了“>>>”和“为什么在 all_filenames.contains
以及 !all_filenames.conatins
中列出了相同的值?我试过让每个.toString()
得到相同的结果。我还对类似的文件名使用了类似的方法,效果很好。
谢谢
【问题讨论】:
【参考方案1】:if
后面的分号结束语句
if(!all_filenames.contains(audio_isixhosa));
// <-- new block separate from if.
所以主体是一个空块。去掉分号。
if(!all_filenames.contains(audio_isixhosa))
【讨论】:
这个很难发现! @Elliott - 好一个!以上是关于ArrayList .contain 给出奇怪的输出的主要内容,如果未能解决你的问题,请参考以下文章
HashSet的contains()和ArrayList的contains()方法哪个更快一些?
Java ArrayList:当arraylist包含给定对象时,contains()方法返回false
ArrayList 的 contains() 方法如何评估对象?