首先,List集合三種遍歷方式 List list=new ArrayList(); 1.增強for循環 for(String str : list) {//其內部實質上還是調用了迭代器遍歷方式,這種循環方式還有其他限制,不建議使用。 System.out.PRintln(str); } 2.普通for循環 for( int i = 0 ; i < list.size() ; i++) {//內部不鎖定,效率最高,但在多線程要考慮并發操作的問題。 System.out.println(list.get(i)); } 3.迭代器遍歷 Iterator iter = list.iterator(); while(iter.hasNext()){ //執行過程中會執行數據鎖定,性能稍差,若在循環過程中要去掉某個元素只能調用iter.remove()方法。 System.out.println(iter.next()); }
結論:今天突然做到刪除集合中的對象,然后用增強for循環在里面刪除…發現有問題,數據庫中雖然數據刪除了但是控制臺報錯。后來發現要用專用集合刪除:迭代器刪除。原因是對象不鎖定。上面總結別人那邊復制的請原諒!
新聞熱點
疑難解答