欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

java中ArrayList使用remove注意事项,arraylistremove

来源: javaer 分享于  点击 9450 次 点评:106

java中ArrayList使用remove注意事项,arraylistremove


//在remove一条信息时,
  ArrayList的大小已经改变(即list.size()已经改变);
  在i大于等于list.size()时,循环跳出,后便的ArrayList不能再执行;
  所以必须在remove的同时,执行i--,即i=i-1;
  现在才能遍历所有List中的信息。也不能在用Iterator遍历时使用remove,会抛异常。
public class TrickyAL {

    
    public static LinkedList<User> llu=new LinkedList<User>();
    public static HashMap<String,User> hmu=new HashMap<String,User>();
    public static ArrayList<User> ulist=new ArrayList<User>(Arrays.asList
    (new User[]{
        
        new User(2,"Eric"),
        new User(3,"Eric"),
        new User(1,"Aaron"),
        new User(4,"Eric")
    
    }
    ));
    static{
        llu.add(new User(1,"Aaron"));
        llu.add(new User(2,"Eric"));
        llu.add(new User(3,"Tom"));
        hmu.put("1",new User(3,"Tom"));
        hmu.put("2",new User(2,"Eric"));
        hmu.put("3",new User(1,"Leo"));
        hmu.put("3",new User(4,"Scott"));
        
        
    }
    public static void deleteUser(ArrayList<User> urlist,String auser){
        
        Iterator itr=urlist.iterator();
        int c=urlist.size();
        
        for(int i=0;i<c;i++){
            if(auser.equals(urlist.get(i).name)){
                urlist.remove(i);
                i--;
                c--;
            }
        }
        
        
    }
public static void deleteUser(LinkedList<User> urlist,String auser){
        
        Iterator itr=urlist.iterator();
        int c=urlist.size();
        
        for(int i=0;i<c;i++){
 

相关文章

    暂无相关文章

用户点评