集合 ArrayList
1.集合类的继承关系图
Collection(集合类的父接口)
Set(接口 数学中的集合) List(接口 列表) Queue(接口 队列)
Object(排序工具类) 单独的接口Map
--Arrays(排序数组的工具类)
--Collections(排序集合的工具类)
2.Collection和Collections的区别
Collection 集合类的父接口,是一个接口
Collections 排序工具类,是一个普通的工具类,用来排序集合的
3.List(接口 列表)
List(接口)
Vector(向量) ArrayList(动态数组) LinkedList(链表)
4.ArrayList:
1.动态数组: 长度可变的数组
2.属于引用类型的数组: 里面的元素都是引用
5.ArrayList底层代码分析
List list = new ArrayList();// 这句话并没有为数组分配空间
list.add("aaa");//当第一次往集合中添加元素的时候 底层会创建一个长度为10的Object类型的数组
//相当于Object[] arr = new Object[10];
6.迭代器Iterator
常用方法
1. hasNext() 判断迭代器中有没有下一个元素 如果有返回true 没有返回false
2. next() 让迭代器向后移动一位 并且返回迭代器指向的当前元素
7.Vector 向量:线程安全版本的ArrayList,用起来和ArrayList完全一样
8.LinkedList 链表
用起来和ArrayList完全一样,只不过底层实现方式不一样
9.ArrayList 和LinkedList 有什么区别??
ArrayList 顺序表
LinkedList 链表
public class TestDVD {
public static void main(String[] args) {List<DVD> list=new ArrayList<DVD>();DVD s=new DVD(1,"几梦空间",50);DVD s2=new DVD(2,"异想天开",60);DVD s3=new DVD(3,"疯狂学java",70);DVD s4=new DVD(4,"侠盗飞车",80);list.add(s);list.add(s2);list.add(s3);list.add(s4);//增加/*list.remove(1);//删除 1.按索引的下标删
*/ //删除2.按条件删除/*Iterator<DVD> it = list.iterator();while(it.hasNext()){DVD dvd=it.next();}if(dvd.getSno()==2){it.remove();}*///三、修改//1.按索引下标修改/* DVD s5=new DVD(5,"叶问",60);list.set(1,s5);*///2.按条件修改/*Iterator<DVD> it = list.iterator();while (it.hasNext()) {DVD dvd = it.next();if (dvd.getName().equals("疯狂学java")) {dvd.setPrice(100);}}*///四、查 1.按索引下标查 2.按条件查
/* Iterator<DVD> it = list.iterator();
while (it.hasNext()) {
DVD dvd = it.next();
if (dvd.getSno()==4) {System.out.println(dvd.getName());}}*///五、1.list的size方法/* for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i).getSno()+list.get(i).getName()+list.get(i).getPrice());} */ //2.迭代器/*Iterator<DVD> it = list.iterator();while (it.hasNext()) {DVD dvd = it.next();System.out.println(dvd.getName());}*///3. 增强的for循环for(DVD dvd:list){if(dvd.getName().contains("侠盗飞车")){System.out.println(dvd.getSno());}}
}
}
集合 ArrayList相关推荐
- Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...
ArrayList和Vector的区别 ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的. ...
- C#方法,可空类型,数组,集合,ArrayList排序,List,Hashtable和Dictionary
C#方法 方法的定义: public void/int Compare(int a,int b){ } Program program = new Program(); Console.WriteLi ...
- 第九天 (集合 ArrayList)
目录 集合 ArrayList 创建集合的对象 ArrayList成员方法 集合 集合和数组的对比 1.长度: 集合自动伸缩,可长可短,自动扩容. 数组长度固定. 2.存储类型: 集合可以存储引用数据 ...
- java集合-ArrayList
java集合 ArrayList Iterable Comparable(排序接口) 项目结构: class Dog implements Comparable<Dog> {private ...
- Java学习——集合ArrayList类
1,集合ArrayList类底层就是用数组来实现的,其语法为: ArrayList objectName =new ArrayList<>(); 这个E一定要用引用数据类型 2,集合跟数组 ...
- 集合-ArrayList
一.ArrayList的注意事项: 1)ArrayList可以放任何元素,包括空值,可以加入多个空值. 2)ArrayList是由数组来实现数据存储的 3)ArrayList基本等同于Vector,除 ...
- Java集合—ArrayList底层原理
原文作者:0 errors 0 warnings 原文地址:用大白话告诉你ArrayList的底层原理 目录 一.数据结构 二.线程安全性 三.继承关系 四.构造方法 五.add()方法 六.扩容机制 ...
- Java集合-ArrayList源码解析-JDK1.8
◆ ArrayList简介 ◆ ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAcc ...
- List集合ArrayList,LinkList
1.List是Collection子接口,拥有其所有方法. 2.List是有序集合,集合中每个元素都有对应顺序序列.List集合可使用重复元素,可以通过索引来访问指定位置的集合元素(顺序索引从0开始) ...
- JAVA复习5(集合——ArrayList)
集合 所谓集合指的就是一套动态对象数组,在实际开发中数组的概念的一定会使用的,但是数组的问题是一旦开辟空间则长度不可改变 其实就是对数据结构的一种封装,用户不用去编写,直接使用. 由于数据结构开发起来 ...
最新文章
- openssl 创建私有CA
- airtestide 下载后打不开_微信收到CAD图纸打不开怎么办?2种方法教你手机CAD快速看图...
- java webpack_webpack将对象暴露为全局
- P4144 大河的序列
- leetcode 1143. Longest Common Subsequence | 1143. 最长公共子序列(动态规划,暴力递归->傻缓存->dp)
- 女人必知:10个好习惯 让老公不想出轨
- 广电总局拟规定设立未成年人频道
- c语言链表交换2个元素的位置,C语言 单链表 查找一个元素出现的所有位置
- 712. Minimum ASCII Delete Sum for Two Strings
- Keil——导出代码的PDF文件
- Alpha版本冲刺(七)
- 电子厂计算机常用英语,电子厂常用英语
- MuMu模拟器进行adb操作
- 彩色图像高频与低频成分的分解
- 3.2 从关系型数据库中查询数据
- 伊利诺理工大学计算机科学硕士,美国伊利诺伊理工大学计算机科学硕士
- 教你十秒钟学会剪映抠绿幕
- 安利一个最适合数据分析师的小众高薪兼职!
- matlab经纬度画轨迹图_MATLAB绘制地图(完整资料).doc
- 找到卡顿来源,BlockCanary源码精简分析