1.java.util.ArrayList 集合数据存储的结构是数组结构。元素查找快,而增删就比较慢
所以如果要查询数据,遍历数据,ArrayList是最常用的集合
2.ArrayList是不同步的,所以效率高
3,我们都知道看一个类,先看它的构造方法
public ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。
参数:initialCapacity - 列表的初始容量 (*如果使用空参数,自动使用默认值)
抛出: IllegalArgumentException - 如果指定的初始容量为负

public ArrayList()构造一个初始容量为 10 的空列表。

public ArrayList(Collection<? extends E> c)构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
参数:c - 其元素将放置在此列表中的 collection (<?extends E>这是泛型的上限限定,不能用在创建对象时,只能用在传递参数时,表示实参接收时必须是E的子类或者本身。
抛出: NullPointerException - 如果指定的 collection 为 null

package collection;

import java.util.ArrayList;
import java.util.Iterator; /*
* 泛型的通配符:
* ?:代表任意类型
* 使用方式:
* 不能创建对象使用
* 只能作为方法参数使用
*/
public class Demo05Generic {
public static void main(String[] args) {
ArrayList<Integer> list01=new ArrayList<Integer>();//创建对象时表明类型,Integer类型
list01.add(1); //添加数据
list01.add(2);
ArrayList<String> list02=new ArrayList<String>();//String类型
list02.add("zsh");
list02.add("zms");
printArray(list01);
printArray(list02);
}
/*
* 定义一个方法,能够遍历所有类型的ArrayList集合
* 这时候不知道ArrayList集合使用什么数据类型,可以使用泛型的通配符
*/
public static void printArray(ArrayList<?> list)
{
Iterator<?> lt=list.iterator(); //Iterator:迭代器 (用来访问集合当中的元素,而不用暴露内部对象内部的表示。
while(lt.hasNext()) //Iterator接口 是对Collention进行迭代的迭代器,所以用接口引用指向实现类的对象
{ //hasNext方法用来判断集合的下一位是否还存在元素
Object ob=lt.next(); //next()方法是用来去除当前的元素(类似c语言当中的指针,每判断一位,指针就后移一位)
System.out.println(ob);
}
}

最后Java.ArrayList类中有很多方法,可以去Api文档查看

Java中List接口重要实现类一ArrayList的更多相关文章

  1. java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析

    java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Colle ...

  2. Java 中的接口有什么作用?以及接口和其实现类的关系?

    Java 中的接口有什么作用? - Ivony的回答 - 知乎 https://www.zhihu.com/question/20111251/answer/16585393 这是一个初学者非常常见的 ...

  3. Java NIO Path接口和Files类配合操作文件

    Java NIO Path接口和Files类配合操作文件 @author ixenos Path接口 1.Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中第一个部件是根部件时就是绝对路 ...

  4. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing

    java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...

  5. JAVA中限制接口流量、并发的方法

    JAVA中限制接口流量可以通过Guava的RateLimiter类或者JDK自带的Semaphore类来实现,两者有点类似,但是也有区别,要根据实际情况使用.简单来说, RateLimiter类是控制 ...

  6. 第五节:详细讲解Java中的接口与继承

    前言 大家好,给大家带来详细讲解Java中的接口与继承的概述,希望你们喜欢 什么是接口(interface) 接口中的方法都是抽象方法,public权限,全是抽象函数,不能生成对象 interface ...

  7. JAVA中的集合容器操作类

    目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...

  8. java中map接口hashMap以及Enty之间的用法和关系

    java中map接口hashMap以及Enty之间的转换 首先说的是map接口: Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value ...

  9. Java中各种集合(字符串类)的线程安全性!!!

    Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...

随机推荐

  1. 2022年官网下安装MAVEN最全版与官网查阅方法

    目录 确保JDK安装无误 一.百度输入关键字maven,选择官网,进入官网 二.找到下载位置,如图所示,双击进入 三.找到下载位置(下载的是安装包bin版本的,src是源码查看),双击下载 四.弹出保 ...

  2. Numpy库基础___二

    ndarray一个强大的N维数组对象Array •ndarray的变换 x.reshape(shape)重塑数组的shape,要求元素的个数一致,不改变原数组 x = np.ones((2,3,4), ...

  3. JavaWeb 10_Filter过滤器

    一.什么是Filter? 1.Filter 过滤器它是JavaWeb的三大组件之一-.三大组件分别是: Servlet 程序.Listener 监听器.Filter 过滤器2.Filter 过滤器它是 ...

  4. IDEA的git的拉去提交Java day9

    赶鸭子上架,没法子. 新的知识点24号继续学习,今天认真熟悉了以下IDEA,的git代码的提交和拉去,不过拉去下来的项目有些打开的问题有点多,还在继续解决中-- git知识明天一并上传博客.

  5. .NET中XML序列化和反序列化常用类和用来控制XML序列化的属性总结(XmlSerializer,XmlTypeAttribute,XmlElementAttribute,XmlAttributeAttribute,XmlArrayAttribute...)

    序列化和反序列化是指什么? 序列化(seriallization): 将对象转化为便于传输的数据格式, 常见的序列化格式:二进制格式,字节数组,json字符串,xml字符串.反序列化(deserial ...

  6. java面试-四维图新

    1.给出至少三种排序方式,并写出详细实现思路. /** * 快速排序 * @param arr * @param low * @param high */ public static void qui ...

  7. @Param注解和@Mapper注解

    @Param 1.如果dao方法中只有一个参数,入参可以为#{0}或者#{任意单词},也可以使用@Param指定参数名称,sql中就只能#{指定名称}获取参数 public List<Regio ...

  8. Java Output流写入包装问题

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); OutputStreamWriter output ...

  9. 什么是 Spring 的依赖注入?

    依赖注入,是 IOC 的一个方面,是个通常的概念,它有多种解释.这概念是说你 不用创建对象,而只需要描述它如何被创建.你不在代码里直接组装你的组件和 服务,但是要在配置文件里描述哪些组件需要哪些服务, ...

  10. @Required 注解有什么用?

    @Required 应用于 bean 属性 setter 方法.此注解仅指示必须在配置时使用 bean 定义中的显式属性值或使用自动装配填充受影响的 bean 属性.如果尚未 填充受影响的 bean ...