public void removeContact(String cname)
{
    int index = 0;
    boolean flag = false;
    Iterator it = list.iterator();
    Contact tmp;
    if (list.isEmpty())
        System.out.println("List id empty!");
    else
    {
        while(it.hasNext())
        {
            tmp = (Contact)it.next();
            if (cname.equals(tmp.getName()))
            {
                System.out.printl("Successful: "+tmp.getName()+" "+tmp.getNum()+" had been deleted!");
                list.remove(index);
                flag = true;
                index = -1;
                it = list.iterator();
            }
            index++;
        }
            
        if (flag)
        System.out.println("No such person whose name ==" + cname);
    }      
}这是关于一个通讯录的删除方法。在一个存有几个记录(有相同的名字,但号码不同)的通讯录里,按照名字删除,在使用迭代器的时候有点问题,原来是没有加////的两句的,但发现删除第一个后后面同名的删除操作就错了,猜想可能是删除后it迭代器有了变化,但是加了带////的两句之后发现会重复打印删除的内容,对迭代器的使用还不是很清楚,不知道有没有把问题说清楚,请大家赐教!