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

JAVA集合类浅谈:1.1Arraylist

阅读更多
JAVA集合类浅谈:

前言:
  集合包是Java中最常用的包 集合包中常用的主要有Collection和Map两个接口的实现类Collection用于存放多个单对象Map用于存放Key-Value形式的键值对。 Collection中常用的又分为两种类型的接口List和Set两者最明显的差别为List支持放入重复的对象而Set不支持。List接口常用的实现类有ArrayList、LinkedList、Vector以及StackSet接口常用的实现类有HashSet、TreeSet

类图:


对于collection中的具体实现类不想多讲,相信使用JAVA一段时间的人基本都了解,大家可以看看API基本就可以了。注意一下源码的实现,这样才可以选择自己适用和编写高性能的代码。
稍微记录一下Iterator模式。
iterator()是用于遍历集合类的标准访问方法。
它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。
它的具体实现是这样的。
定义一个接口类
public interface Iterator {
 boolean hasNext();
 Object next();
 void remove();
} 


在AbstractList抽象类中定义了一个内部类:
private class Itr implements Iterator {
 int cursor = 0;
 int lastRet = -1;
 int expectedModCount = modCount;
} 

iterator()方法的定义
public Iterator iterator() {
 return new Itr();
} 



next()方法
public Object next() {
 checkForComodification();
 try {
  Object next = get(cursor);
  lastRet = cursor++;
  return next;
 } catch(IndexOutOfBoundsException e) {
  checkForComodification();
  throw new NoSuchElementException();
 }
}


使用:
Collection c = new ArrayList();
c.add("abc");
c.add("xyz");
for(Iterator it = c.iterator(); it.hasNext(); ) {
 String s = (String)it.next();
 System.out.println(s);
}

具体代码就不多解释了,额外说一下,list接口在iterator迭代的时候每次都会检查list对象是否发生改变(checkForComodification()),如果长度发生改变了,会抛出ConcurrentModificationException异常。


数组的两大缺点:

1。若改变数组的大小就要创建一个新的数组,并需要从原数组复制所有的数据到新的数组

2。数组元素在内存中依次顺序存储,这意味着向数组插入一项要移动数组中的其他元素



  • 大小: 61.3 KB
分享到:
评论

相关推荐

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...

    Java集合框架(JCF:Java Collections Framework)之概述

    Java 集合框架(JCF:Java Collections Framework)之概述 Java 集合框架(JCF:Java Collections Framework)是 Java 语言中的一组类库,用于实现集合操作的统一标准。集合是计算机科学中的一种基本概念,来源于...

    java集合类ArrayList总结共9页.pdf.zip

    Java集合框架是Java编程语言...综上所述,ArrayList在Java集合框架中扮演着重要角色,理解和熟练使用ArrayList有助于编写高效、可维护的代码。在实际开发中,应根据具体需求选择适合的数据结构,以达到最优的性能表现。

    Java学生成绩管理系统实例(ArrayList)

    import java.util.ArrayList; import java.util.Iterator; import java.util.Scanner; /** * @Author Ziph * @date 2020/2/19 * @Email mylifes1110@163.com */ public class TestDemo implemen

    深入Java集合学习系列:ArrayList的实现原理

    在Java编程中,ArrayList是集合框架中一个重要的类,属于List接口的实现,它提供了动态数组的功能,允许我们在集合中存储、添加、删除元素,并且可以按索引访问。这篇文章将深入探讨ArrayList的内部实现原理,帮助...

    Java Methods-java.util.ArrayList.ppt

    从 Java 5 开始,ArrayList 和其他集合类可以指定元素的类型,例如: ```java ArrayList<String> words = new ArrayList(); List<Integer> nums = new ArrayList(); ``` 七、ArrayList 类的注意事项 ArrayList 类...

    java集合类ArrayList简单雇员管理系统.doc

    Java集合类ArrayList简单雇员管理系统 本文将从标题、描述、标签和部分内容中提取相关知识点,并进行详细的解释。 标题和描述 从标题和描述中,我们可以看到这是一个使用Java集合类ArrayList实现的简单雇员管理...

    Java 集合学习指南 - v1.1.pdf

    本指南将深入探讨HashMap、HashSet、HashTable、LinkedHashMap、LinkedHashSet、ArrayList、LinkedList、ConcurrentHashMap等主要集合类的实现原理,以及它们在实际应用中的选择与比较。 首先,HashMap是最常用的...

    试谈Java中ArrayList类的使用.pdf

    "Java 中 ArrayList 类的使用" Java 中的 ArrayList 类是一种常用的数据结构,它可以实现可变长度的数组。ArrayList 类提供了多种方法来操作数组中的元素,包括添加、删除、获取、设置、查找等。 构造方法 ...

    深入Java集合学习系列(三):ArrayList实现原理

    Java集合框架中,ArrayList是一种常见的集合实现类,用于存储和操作对象集合。ArrayList基于动态数组的数据结构,因此它能够提供自动扩容的功能,同时也能够快速地进行随机访问。本篇文档将深入探讨ArrayList的内部...

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    Java中ArrayList类的用法知识.pdf

    Java中的ArrayList类是Java集合框架的一部分,它是List接口的一个实现,主要用于存储可变大小的有序对象集合。ArrayList基于数组实现,允许动态地增加或减少元素,提供了丰富的操作方法,适用于需要频繁增删元素的...

    Java试题-2:ArrayList类动态代理

    Java试题-2:ArrayList类动态代理 什么是动态代理 动态代理该怎么实现

    跟我学Java-day14-ArrayList集合.pdf

    1.1ArrayList类概述【理解】 什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 底层是数组实现的,长度可以变化 泛型的使用 用于约束集合中存储元素的数据类型 ...

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识

    ava基础 基础知识 面向对象基础 Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 代码块和代码执行顺序 Java自动拆箱装箱里隐藏的秘密 ...Java集合详解8:Java集合类细节精讲 JavaWeb

    java常用集合类总结

    "Java集合类总结" ...这些类都是JDK1.1中引入的旧式集合类,现在已经被新的集合类所取代。 Java集合类提供了多种方式来存储和管理数据,开发者可以根据需要选择合适的集合类来实现自己的应用程序。

    Java集合框架深度解析:Map, List, Set

    深入的洞察到Java集合框架的核心组件:Map, List, 和 Set。首先,深入分析了HashMap的内部结构,包括它的数组+链表+红黑树的数据结构。重要的是理解如何处理并发问题,特别是在Java 8中对HashMap的优化,如高低位...

Global site tag (gtag.js) - Google Analytics