`
大器晚成
  • 浏览: 52833 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ArrayList的陷阱!谁知道?

 
阅读更多
import java.util.ArrayList;


public class ArrayListTest {
	public static void main(String[] args) {
		//一个物件链表
		ArrayList<String> strAl=new ArrayList<String>();
		strAl.add("a");
		strAl.add("b");
		strAl.add("c");
		strAl.add("d");
		//要删除物件链表的所有索引
		ArrayList<Integer> indexes=new ArrayList<Integer>();
		indexes.add(0);
		indexes.add(2);
		//逐个删除
		for (int i = 0; i < indexes.size(); i++) {
			strAl.remove(indexes.get(i));
		}
		//打印最后物件个数
		System.out.println(strAl.size());
	}
}

//谁能不运行代码,知道打印出来是多少呢
7
6
分享到:
评论
2 楼 大器晚成 2011-04-14  
grandboy 写道
这里要不是仔细看还真搞不对,我仔细想过,不过也是想错了。因为我几乎没有怎么使用过remove这个方法. 仔细看了一下ArrayList的实现。

我也是看到remove有两个参数才知道的。
1 楼 grandboy 2011-04-14  
这里要不是仔细看还真搞不对,我仔细想过,不过也是想错了。因为我几乎没有怎么使用过remove这个方法. 仔细看了一下ArrayList的实现。

相关推荐

    ArrayList源码Jdk1.8

    ### ArrayList源码解析(JDK 1.8) ...了解`ArrayList`的内部实现有助于更好地利用它的优势并避免潜在的性能陷阱。在设计多线程应用时尤其需要注意其非同步特性的限制,并采取适当的同步策略来保证数据一致性。

    java陷阱常见面试题

    Java语言在实际应用中充满了各种陷阱,这些陷阱可能在编程过程中导致意料之外的问题,对程序的稳定性和性能造成影响。对于求职者来说,熟悉这些陷阱并在面试中能够准确解答,是展示自身技能水平的重要方式。本文将...

    java面试陷阱题

    5. **集合框架**:深入理解ArrayList、LinkedList、HashSet、HashMap等集合类的内部实现,包括它们的时间复杂度和适用场景。知道ConcurrentHashMap在并发下的优势。 6. **反射机制**:理解反射的基本用法,如Class...

    java常见疑惑与陷阱

    例如,`ArrayList`和`HashMap`在多线程环境下不是线程安全的,而在某些场景下,我们可以选择使用`Vector`、`ConcurrentHashMap`等线程安全的集合类。 #### 三、揭开神秘的锁机制 Java中的锁机制是实现多线程同步的...

    java ArrayList.remove()的三种错误用法以及六种正确用法详解

    在Java编程中,ArrayList是List接口的一个重要实现类,它基于数组进行操作,提供了一种高效的方式来存储和访问有序的元素。ArrayList的remove()方法是一个关键功能,用于删除列表中的元素。然而,如果不正确地使用这...

    Java程序员面试可能遭遇的个专业技术陷阱解析.pdf,这是一份不错的文件

    - 面试陷阱:面试官可能会询问ArrayList和LinkedList的区别,或者HashMap的工作原理。 - 解析:Java集合框架包括List、Set、Map等接口及其实现类。ArrayList适合随机访问,LinkedList适合频繁插入和删除。HashMap...

    Java程序员面试陷阱共48页.pdf.zip

    Java程序员在面试过程中可能会遇到各种陷阱,这些陷阱可能源于对技术理解的深度、广度,或是面试技巧的不足。这份48页的PDF文档“Java程序员面试陷阱”旨在揭示这些问题,帮助求职者避免在关键面试时刻掉入这些误区...

    Java Scjp 陷阱大全

    7. **数组与集合**:数组是固定大小的,而集合如ArrayList和LinkedList具有动态增长能力。选择合适的数据结构很重要,同时,遍历集合时要注意迭代器的使用。 8. **字符串处理**:`String`是不可变的,`...

    java程序员面试陷阱

    6. **集合框架**:深入理解ArrayList、LinkedList、HashMap、HashSet等集合类的内部实现和性能特性,面试官可能会通过比较这些数据结构的差异来考察你的基础知识。 7. **泛型**:泛型是Java中一种强大的类型安全...

    Java 面试中的陷阱

    - 知道ArrayList和LinkedList的区别,HashMap和ConcurrentHashMap的工作原理。 - 探讨泛型、迭代器、并发容器(如ConcurrentHashMap、CopyOnWriteArrayList)的使用。 7. **反射与注解**: - 理解反射的概念,...

    Java ArrayList add(int index, E element)和set(int index, E element)两个方法的说明

    本文将详细解释`add(int index, E element)`和`set(int index, E element)`这两个方法,并通过示例代码分析它们的工作原理以及可能出现的陷阱。 1. `add(int index, E element)`方法: 这个方法用于在ArrayList的...

    IT职场:程序员Java面试中的陷阱

    这篇文章将探讨Java面试中的一些常见陷阱,帮助求职者更好地准备面试。 首先,面试官可能会问到关于Java基础的问题,这包括但不限于语言特性、数据类型、内存管理等。例如,他们可能会询问Java的垃圾回收机制,如何...

    java软件工程师面试试题集合、软件工程面试题和面试中的陷阱

    Java集合框架是另一个常考领域,包括ArrayList、LinkedList、HashMap、TreeMap等容器的特性与使用场景,以及如何进行高效的集合操作。面试中可能会要求实现特定的集合操作,比如查找、排序或优化内存占用。 JVM...

    突破程序员基本功的16课.part2

    14.5.1 谁都会出错 14.5.2 调试比写程序更费时 14.6 小结 第15课 使用IDE工具 15.1 何时开始利用IDE工具 15.2 IDE工具概述 15.2.1 IDE工具的基本功能 15.2.2 常见的Java IDE工具 15.3 项目管理 15.3.1 ...

    避坑手册 - JAVA编码中容易踩坑的十大陷阱.doc

    List&lt;User&gt; maleUsers = new ArrayList(); for (User user : userList) { if ("男".equals(user.getSex())) { maleUsers.add(user); } } userList.removeAll(maleUsers); ``` 2. 参数传递: Java中,对象...

    很容易弄错的java面试题

    "很容易弄错的Java面试题"通常涉及那些看似简单实则暗藏陷阱的问题,这些问题能够检验候选人在实际编程中的严谨性和对细节的把握。下面,我们将深入探讨一些经典的Java面试题及其背后的原理。 1. **对象的相等性**...

    你必须知道的261个Java语言问题

    这份资料《你必须知道的261个Java语言问题》旨在帮助开发者避免在实际编程过程中遇到的常见问题和陷阱,提升开发效率和代码质量。以下是对其中一些关键知识点的详细解释: 1. **内存管理**:Java的垃圾回收机制...

    JAVA基础易错总结(50%你不知道)

    开发者需要清楚ArrayList与LinkedList的性能差异,以及HashMap与TreeMap的区别。同时,理解迭代器的工作原理,避免在遍历集合时修改集合,这些都是避免运行时错误的关键。 并发编程是Java的强项,但也是挑战。线程...

    Java程序员容易犯的10个错误

    本文将针对Java程序员容易犯的10个错误进行详细讲解,帮助大家避免这些陷阱。 1. **Array 转 ArrayList**: 当使用`Arrays.asList()`方法将数组转换为列表时,返回的是`java.util.Arrays.ArrayList`,这是一个内部...

Global site tag (gtag.js) - Google Analytics