﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-幻想天堂-文章分类-数据结构</title><link>http://www.blogjava.net/x03570227/category/37471.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 06 Feb 2009 03:28:57 GMT</lastBuildDate><pubDate>Fri, 06 Feb 2009 03:28:57 GMT</pubDate><ttl>60</ttl><item><title>循环删除LIST数据的方法</title><link>http://www.blogjava.net/x03570227/articles/253498.html</link><dc:creator>菜板</dc:creator><author>菜板</author><pubDate>Fri, 06 Feb 2009 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/x03570227/articles/253498.html</guid><wfw:comment>http://www.blogjava.net/x03570227/comments/253498.html</wfw:comment><comments>http://www.blogjava.net/x03570227/articles/253498.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/x03570227/comments/commentRss/253498.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/x03570227/services/trackbacks/253498.html</trackback:ping><description><![CDATA[困惑了很久,一直没解决,今天总算是搞定了<br />
下面一段是曾经偿试的代码<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">1</span>&#160;<span style="color: #0000FF; ">for</span><span style="color: #000000; ">(Object&#160;o:list){<br />
</span><span style="color: #008080; ">2</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;list.remove(o);<br />
</span><span style="color: #008080; ">3</span>&#160;<span style="color: #000000; ">}</span></div>
这段代码的缺点是list.remove后for(Object o:list)有问题,会报错,因为删除数据后list的循环不一样了<br />
<br />
下面是正确的循环删除数据的方法<br />
<div style="font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">1</span>&#160;<span style="color: #000000; ">List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">AssetsCategory</span><span style="color: #000000; ">></span><span style="color: #000000; ">&#160;list</span><span style="color: #000000; ">=</span><span style="color: #000000; ">CategoryService.list(SystemConst.CONDITION_DEL_FALSE,&#160;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&#160;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&#160;</span><span style="color: #000000; ">""</span><span style="color: #000000; ">);</span><span style="color: #008000; "><br />
</span><span style="color: #008080; ">3</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Iterator</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">AssetsCategory</span><span style="color: #000000; ">></span><span style="color: #000000; ">&#160;itr</span><span style="color: #000000; ">=</span><span style="color: #000000; ">list.iterator();<br />
</span><span style="color: #008080; ">4</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(itr.hasNext()){<br />
</span><span style="color: #008080; ">5</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AssetsCategory&#160;obj</span><span style="color: #000000; ">=</span><span style="color: #000000; ">itr.next();<br />
</span><span style="color: #008080; ">6</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(obj.getMyCode().length()</span><span style="color: #000000; ">==</span><span style="color: #000000; ">2</span><span style="color: #000000; ">){ &#160;//这里加了个条件<br />
</span><span style="color: #008080; ">7</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;itr.remove();<br />
</span><span style="color: #008080; ">8</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
</span><span style="color: #008080; ">9</span>&#160;<span style="color: #000000; ">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></div>
<img src ="http://www.blogjava.net/x03570227/aggbug/253498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/x03570227/" target="_blank">菜板</a> 2009-02-06 10:18 <a href="http://www.blogjava.net/x03570227/articles/253498.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>