1 A.contain(Object o);方法,由abstractCollection实现
public boolean contains(Object o) {
Iterator<E> e = iterator();
if (o==null) {
while (e.hasNext())
if (e.next()==null) //如果o为null,e.next==null,也返回true
return true;
} else {
while (e.hasNext())
if (o.equals(e.next()))
return true;
}
return false;
}
2 A.remove(Object o);方法,由abstractCollection实现
public boolean remove(Object o) {
Iterator<E> e = iterator();
if (o==null) {
while (e.hasNext()) {
if (e.next()==null) {
e.remove(); //如果o为null,e.next==null,也返回true
return true;
}
}
} else {
while (e.hasNext()) {
if (o.equals(e.next())) {
e.remove();
return true;
}
}
}
return false;
}
3.A.retainAll(c)删除c中不包含的对象
public boolean retainAll(Collection<?> c) {
boolean modified = false;
Iterator<E> e = iterator();
while (e.hasNext()) {
if (!c.contains(e.next())) {
e.remove();
modified = true;
}
}
return modified;
}
4.arraylist插入对象是,与初始建立的size需要比较,扩大size
public void ensureCapacity(int minCapacity) {
modCount++;
int oldCapacity = elementData.length;
if (minCapacity > oldCapacity) {
Object oldData[] = elementData;
int newCapacity = (oldCapacity * 3)/2 + 1; //新建的size的大小
if (newCapacity < minCapacity)
newCapacity = minCapacity;
// minCapacity is usually close to size, so this is a win:
elementData = Arrays.copyOf(elementData, newCapacity);
}
}
分享到:
相关推荐
"JavaSource:Java源码解读"项目旨在帮助开发者深入探索Java的内部工作原理,从而更好地运用和优化代码。在这个项目中,我们可以看到一系列针对Java源码的分析与讨论,主要聚焦于JavaSource-master这一核心部分。 ...
Java源码中充满了异常处理机制,比如`Exception`类和它的子类。通过查看源码,我们可以看到何时、如何抛出异常,以及如何编写优雅的异常处理代码,这对编写健壮的程序至关重要。 5. **多线程编程** `java.lang....
在这个"java-src:java源码解读"项目中,我们可以探索Java的核心库,包括JVM(Java虚拟机)、集合框架、并发机制、I/O流、网络编程等多个关键领域的实现细节。这将帮助我们提升编程技能,优化代码性能,并能更好地...
本篇文章将对Java API的部分关键组件进行源码解读,帮助读者深入理解其工作原理。 1. **对象创建与内存管理**: - `Object`类:所有Java类的基类,包含了如`clone()`, `equals()`, `hashCode()`等方法。理解`...
java所有集合类底层源码解析汇总,包括ArrayList、HashMap、HashSet、LinkedList、TreeMap、HashSet、ConcurrentHashMap等集合框架的底层实现源码大白话解读。
源码解读能揭示反射在动态类型语言特性中的作用。 7. **集合框架**:Java集合框架包括数组、列表、队列、映射等数据结构,如`ArrayList`、`HashMap`等。源码揭示了这些数据结构的实现细节,对于优化和定制自己的...
《Java源码解读-ITG-JavaBook01: Java面试高频源码解读》是一部针对Java程序员面试准备的深入学习资料。在这个项目中,我们将会探索Java语言的一些核心概念和常用库的源代码,帮助开发者更好地理解Java的内部机制,...
这里我们将深入探讨三道常见的Java面试题,它们涵盖了基础、并发和集合框架等方面,帮助你提升对Java源码的掌握。 1. **ArrayList与LinkedList的区别** - **ArrayList** 是基于动态数组的数据结构,它提供了随机...
学习笔记会详细解析各种集合类的特性和使用场景。 5. **输入/输出(I/O)**:Java I/O流用于读写文件、网络通信等,包括文件流、字符流、对象流等。这部分内容会解释流的概念,以及如何使用BufferedReader、...
《Java源码解读——深入理解JDK》 Java作为一门广泛应用的编程语言,其源码是许多开发者探索技术原理、提升编程技能的重要资源。"java源码解读-jdk_reading:java源码日常阅读与注解"项目,旨在帮助开发者深入理解...
总的来说,要理解和学习这个交易平台系统的JSP源码,你需要具备扎实的Java基础,理解Web开发的核心概念,熟悉JSP、Servlet和数据库交互,同时,能够解读项目结构和运行说明。通过深入研究,你可以从中学到如何构建一...
`java.util`包提供了集合框架、日期时间、队列、映射等工具类。`java.io`和`java.nio`则分别提供了基于流的I/O和非阻塞I/O操作。 在分析rt.jar源码的过程中,我们可以学习到以下关键知识点: 1. 类加载机制:`java...
Java作为一门广泛使用的编程语言,其底层知识点和源码解读对于深入理解并优化代码性能至关重要。本主题将探讨以下几个方面: 1. **Java虚拟机(JVM)**: JVM是Java程序运行的基础,它负责字节码的解释执行,内存...
总结来说,"java8-master"项目对Java 8的源码进行了深度解读,涵盖了函数式编程、Stream API、默认方法、Optional、日期时间API等核心知识点。通过学习这个项目,开发者可以更好地理解和利用Java 8的新特性,提升...
Java毕设源码范例和详细说明(由浅入深,深度解读在资料后半部分)提供了一个完整的Java项目示例,涵盖了Java语言的多个方面,包括面向对象编程思想、集合框架、输入/输出操作、异常处理、多线程编程、设计模式、...
《深入解析FastJava源码》 FastJava是一个高效、轻量级的Java编程库,它的设计目标是提高Java开发的效率和性能。通过对FastJava源码的深入学习,我们可以了解到许多关于Java编程的最佳实践和优化技巧。下面,我们将...
- `ArrayList`, `LinkedList`, `HashSet`, `HashMap`等集合类的使用,展示了Java集合框架的强大功能,包括动态扩容、迭代器、泛型等。 7. **多线程**: - `Thread`类的子类化,`Runnable`接口的实现,线程同步...
以上是对“基于java的java源码Eclipse的Script插件 JSEditor.zip”及相关文件的详细解读,这个插件为Java开发者提供了丰富的辅助功能,提升了他们在Eclipse中的开发效率。通过深入研究其源码,开发者可以学习到如何...
**CppUnit源码解读** CppUnit是C++编程语言中的一种单元测试框架,它借鉴了JUnit(Java语言的单元测试框架)的设计理念,为C++开发者提供了自动化测试工具。通过理解CppUnit的源码,我们可以深入掌握其工作原理,更...
1. **Java基础**:包括类、对象、继承、多态、接口等面向对象编程的基本概念。 2. **Java Web开发**:使用Servlet和JSP进行服务器端处理,以及MVC设计模式的应用。 3. **数据库操作**:通过JDBC与数据库交互,可能...