Java中List接口重要实现类一ArrayList
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的更多相关文章
- java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析
java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Colle ...
- Java 中的接口有什么作用?以及接口和其实现类的关系?
Java 中的接口有什么作用? - Ivony的回答 - 知乎 https://www.zhihu.com/question/20111251/answer/16585393 这是一个初学者非常常见的 ...
- Java NIO Path接口和Files类配合操作文件
Java NIO Path接口和Files类配合操作文件 @author ixenos Path接口 1.Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中第一个部件是根部件时就是绝对路 ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- JAVA中限制接口流量、并发的方法
JAVA中限制接口流量可以通过Guava的RateLimiter类或者JDK自带的Semaphore类来实现,两者有点类似,但是也有区别,要根据实际情况使用.简单来说, RateLimiter类是控制 ...
- 第五节:详细讲解Java中的接口与继承
前言 大家好,给大家带来详细讲解Java中的接口与继承的概述,希望你们喜欢 什么是接口(interface) 接口中的方法都是抽象方法,public权限,全是抽象函数,不能生成对象 interface ...
- JAVA中的集合容器操作类
目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...
- java中map接口hashMap以及Enty之间的用法和关系
java中map接口hashMap以及Enty之间的转换 首先说的是map接口: Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value ...
- Java中各种集合(字符串类)的线程安全性!!!
Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...
随机推荐
- Dapr集成之GRPC 接口
Dapr 为本地调用实现 HTTP 和 gRPC API . 通常大家第一时间想到的是通过 gRPC 调用 Dapr,更重要的一点是Dapr 也可以通过 gRPC 与应用程序通信. 要做到这一点,原理 ...
- LGP2461题解
引用化学老师的一句话:什么矩阵,没有矩阵! 这种板子题怎么能用矩阵呢. \(O(k^2\log n)\) 能搞定何必需要 \(O(k^3\log n)\) 呢. 首先设 \(F_n(x)=x^n \b ...
- Redis pub/sub
list 类型, lpush + rpop 或 lpush + brpop 用作消息队列时,消息只能消费一次,且不支持多个消费者(消息只能消费一次),并且在客户端崩溃时容易丢失消息.而 pub/sub ...
- Linux kernel serial_ir_init_module()释放后重利用漏洞
受影响系统:Linux kernel < 5.1.6描述:-------------------------------------------------------------------- ...
- 提升Spring Boot项目中API接口并发能力的一个注解,效果明显
异步调用几乎是处理高并发Web应用性能问题的万金油,那么什么是"异步调用"?"异步调用"对应的是"同步调用",同步调用指程序按照定义顺序依次 ...
- windows 2008 R2磁盘清理
记录一次由于磁盘空间满,IIS使前端程序报500的事故 由于导出Api部署在IIS服务器,在程序调用导出Api会报500 发现windows服务器C盘已满 下面处理过程 只需复制cleanmgr.ex ...
- ZYNQ 启动问题 :FSBL
0.ZYNQ外部启动条件 1. 电源要求: 在阶段0 BootROM时,安全模式下PS与PL都是必须上电的:非安全模式PS需要上电,如图: 在阶段1 FSBL时,PS与PL都是必须上电的,因为PL将在 ...
- 4月16日 python学习总结 封装之property、多态 、classmethod和staticmethod
一.封装之property @property把一个函数伪装成一个数据类型 @伪装成数据的函数名.setter 控制该数据的修改,修改该数据时触发 @伪装成数据的函数名.delect 控制该数 ...
- pthread_once函数
http://blog.csdn.net/lmh12506/article/details/8452659 pthread_once()函数详解 在多线程环境中,有些事仅需要执行一次.通常当初始化应用 ...
- C#XmlHelper帮助类操作Xml文档的通用方法汇总
前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内 ...