`
tianyalinfeng
  • 浏览: 442474 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ArrayList的remove()方法失败

    博客分类:
  • Java
 
阅读更多

Map<String,Integer> map = new HashMap<String,Integer>();

List list = new ArrayList();

 

 

list.remove(map.get(key)); //remove失败,原因map.get(key)是一个object,还没有转为int类型,而这个object在list中是不存在的

 

正确方法

int index = map.get(key);

list.remove(index);

 

 

分享到:
评论

相关推荐

    C++ArrayList

    7. **遍历元素**:提供迭代器或`begin()`和`end()`方法,使用户能方便地遍历ArrayList的所有元素。 8. **大小(size)**:提供`size()`方法返回当前元素数量。 9. **容量(capacity)**:`capacity()`方法返回当前...

    用C语言模拟ArrayList

    void remove(ArrayList* list, int index); // 查找元素 int find(ArrayList* list, int value); // 销毁ArrayList void destroyArrayList(ArrayList* list); ``` 在`Array.c`中,我们需要实现这些函数。例如,`...

    从原码解析ArrayList

    正确的做法是使用Iterator的`remove()`方法,或者先收集要删除的元素,然后再统一处理。 8. **安全失败与快速失败** 在多线程环境下,如果一个线程正在遍历ArrayList,而另一个线程同时修改了ArrayList的结构...

    ArrayList.java

    此类的返回的迭代器 iterator和listIterator方法是快速失败的 :如果列表在任何时间从结构上修改创建迭代器之后,以任何方式,除了通过迭代器自身的remove或add方法,迭代器都将抛出ConcurrentModificationException...

    ArrayList.docx

    - 在多线程环境下,如果在遍历过程中尝试修改`ArrayList`,如调用`add()`或`set()`方法(`remove()`方法除外,因为它会同步更新内部计数器),可能会抛出此异常。 - 原因在于迭代器内部维护了一个`modCount`字段,...

    Java实习生面试复习(三):ArrayList

    这个字段主要用于实现快速失败的迭代器机制,如果在迭代过程中其他线程修改了ArrayList,迭代器会抛出ConcurrentModificationException。 ArrayList提供了多种初始化方法: - **无参数构造器**:创建一个空的...

    Java 产生不重复随机数四种方法

    ### 方法二:使用ArrayList与remove() 另一种方法是使用 **ArrayList**。同样,我们先创建一个ArrayList,然后在循环中生成随机数。如果生成的随机数已经存在于列表中,就从列表中移除并重新生成,直到达到所需数量...

    Java集合容器面试题

    使用Iterator可以遍历集合,使用 hasNext()方法判断是否还有元素,使用 next()方法获取下一个元素,使用 remove()方法删除当前元素。 Iterator有什么特点 Iterator有什么特点?Iterator提供了fail-fast机制, 避免...

    Java10个Java经典的List面试题!.pdf

    - 返回List的迭代器,ArrayList的迭代器支持快速失败,而LinkedList的迭代器可以在任何位置进行插入和删除。 9. **ArrayList与LinkedList的内存占用** - ArrayList的内存分配通常是连续的,适合存储大量数据;...

    c代码-使用集合ArrayList对字符串进行存储和管理。

    这个项目提供了一个实用的方法,用C语言实现类似于高级语言中的ArrayList数据结构,便于在C程序中处理字符串集合。通过这个实践,开发者可以更好地理解和掌握C语言的动态内存管理以及自定义数据结构的设计与实现。

    集合框架的使用方法

    1. 添加元素:add() 方法用于向集合添加元素,对于Set,如果元素已存在,add() 方法通常会失败。 2. 删除元素:remove() 方法移除指定元素,clear() 方法清空整个集合。 3. 访问元素:get() 方法根据键获取值,...

    Iterator与fast-fail机制.pdf

    这种方式需要显式地知道ArrayList的大小(通过size()方法),并通过索引(i)获取元素(通过get()方法)。这种方式与ArrayList的实现紧密耦合。 2. 使用迭代器: 迭代器提供了一种标准的接口,包含`hasNext()`和`...

    Java集合容器面试题(2020最新版)-重点.pdf

    5. 快速失败机制:当集合在迭代过程中被修改时,如果不使用迭代器的remove()方法,可能会触发快速失败,即抛出ConcurrentModificationException异常。 6. Iterator:迭代器是遍历集合的主要方式,提供了hasNext()和...

    JDKAPI18CN(中文版)

    The iterators returned by this class's个 iterator和listIterator方法是快速失败的 :如果列表在任何时间从结构上修改创建迭代器之后,以任何方式除非通过迭代器自身remove种或add方法,迭代器都将抛出一个...

    Iterator迭代器讲解

    该方法首先检查是否调用了`next()`方法,然后调用`ArrayList`的`remove()`方法删除指定位置的元素,并更新相关字段。 5. **`checkForComodification()`方法**:这是一个用于实现快速失败(fail-fast)机制的方法,...

    java面试题源码范例和详细说明(由浅入深,深度解读在资料后半部分).docx

    - **性能优化**:考虑在`deleteStudent`方法中使用`List.removeIf()`,或者在`searchStudent`中使用`List.indexOf()`来优化查找效率。 通过这样的面试题和源码分析,你可以系统地复习和提升Java编程技能,为面试...

    C# 各种通用类集合

    ArrayList提供了添加、删除和查找元素的方法,如Add、Remove和IndexOf。 2. **List**: List是ArrayList的泛型版本,它提供了更安全和高效的数据存储。List继承自IList接口,支持索引访问,且包含许多实用方法,如...

    ThinkinginJava之Set接口、HashSet源码学习.pdf

    如果元素已经存在,add方法将返回false,表示添加失败。 - **删除元素**:remove方法同样依赖于元素的哈希码,找到元素在HashMap中的位置并移除。 - **查询元素**:contains方法通过哈希码快速定位元素,如果找到则...

    包装印刷包装类与集合类程序设计.pptx

    `Set`接口的基本方法包括`size()`、`isEmpty()`、`contains()`、`add()`和`remove()`,以及迭代器`iterator()`。实现`Set`接口的常见类有`HashSet`和`TreeSet`。 `List`接口是有序集合,允许元素重复,并且可以按...

Global site tag (gtag.js) - Google Analytics