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相关推荐

  1. Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...

    ArrayList和Vector的区别 ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的. ...

  2. C#方法,可空类型,数组,集合,ArrayList排序,List,Hashtable和Dictionary

    C#方法 方法的定义: public void/int Compare(int a,int b){ } Program program = new Program(); Console.WriteLi ...

  3. 第九天 (集合 ArrayList)

    目录 集合 ArrayList 创建集合的对象 ArrayList成员方法 集合 集合和数组的对比 1.长度: 集合自动伸缩,可长可短,自动扩容. 数组长度固定. 2.存储类型: 集合可以存储引用数据 ...

  4. java集合-ArrayList

    java集合 ArrayList Iterable Comparable(排序接口) 项目结构: class Dog implements Comparable<Dog> {private ...

  5. Java学习——集合ArrayList类

    1,集合ArrayList类底层就是用数组来实现的,其语法为: ArrayList objectName =new ArrayList<>(); 这个E一定要用引用数据类型 2,集合跟数组 ...

  6. 集合-ArrayList

    一.ArrayList的注意事项: 1)ArrayList可以放任何元素,包括空值,可以加入多个空值. 2)ArrayList是由数组来实现数据存储的 3)ArrayList基本等同于Vector,除 ...

  7. Java集合—ArrayList底层原理

    原文作者:0 errors 0 warnings 原文地址:用大白话告诉你ArrayList的底层原理 目录 一.数据结构 二.线程安全性 三.继承关系 四.构造方法 五.add()方法 六.扩容机制 ...

  8. Java集合-ArrayList源码解析-JDK1.8

    ◆ ArrayList简介 ◆ ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAcc ...

  9. List集合ArrayList,LinkList

    1.List是Collection子接口,拥有其所有方法. 2.List是有序集合,集合中每个元素都有对应顺序序列.List集合可使用重复元素,可以通过索引来访问指定位置的集合元素(顺序索引从0开始) ...

  10. JAVA复习5(集合——ArrayList)

    集合 所谓集合指的就是一套动态对象数组,在实际开发中数组的概念的一定会使用的,但是数组的问题是一旦开辟空间则长度不可改变 其实就是对数据结构的一种封装,用户不用去编写,直接使用. 由于数据结构开发起来 ...

最新文章

  1. openssl 创建私有CA
  2. airtestide 下载后打不开_微信收到CAD图纸打不开怎么办?2种方法教你手机CAD快速看图...
  3. java webpack_webpack将对象暴露为全局
  4. P4144 大河的序列
  5. leetcode 1143. Longest Common Subsequence | 1143. 最长公共子序列(动态规划,暴力递归->傻缓存->dp)
  6. 女人必知:10个好习惯 让老公不想出轨
  7. 广电总局拟规定设立未成年人频道
  8. c语言链表交换2个元素的位置,C语言 单链表 查找一个元素出现的所有位置
  9. 712. Minimum ASCII Delete Sum for Two Strings
  10. Keil——导出代码的PDF文件
  11. Alpha版本冲刺(七)
  12. 电子厂计算机常用英语,电子厂常用英语
  13. MuMu模拟器进行adb操作
  14. 彩色图像高频与低频成分的分解
  15. 3.2 从关系型数据库中查询数据
  16. 伊利诺理工大学计算机科学硕士,美国伊利诺伊理工大学计算机科学硕士
  17. 教你十秒钟学会剪映抠绿幕
  18. 安利一个最适合数据分析师的小众高薪兼职!
  19. matlab经纬度画轨迹图_MATLAB绘制地图(完整资料).doc
  20. 找到卡顿来源,BlockCanary源码精简分析

热门文章

  1. 如何合规申请商家码?
  2. 浏览器 F12调试网页出现Paused in debugger问题解决
  3. CPU占用过高解决思路一
  4. 搭建EMQX服务器,将EMQX挂载到阿里云轻量级服务器
  5. 蓝牙耳机什么牌子的音质好?音质最好的蓝牙无线耳机排名
  6. 防水蓝牙耳机排行榜,值得选购的四款蓝牙耳机分享
  7. Spring Lnitailizr
  8. 佳影影视重磅更新,体验very nice
  9. 数据可视化中常用的16种图表
  10. 纯CSS简单案例合集(折扇效果,资料卡,定格轮播,菜单三角形)