变量--容器 存储一个元素

数组--容器

一组具有某种特性的数据存放在一起;

存储一组元素(数据类型一致)长度固定

自己定义了Box(ArrayBox LinkedBox)--容器

存储一组元素 长度可变;

集合--容器 是指具有某种特定性质的具体或抽象的对象汇总而成的集体;

是用来存储一组元素 长度可变;

集合java.util

Collection                 Map

存储的都是value             存储的是以key-value形式存在

List  Queue    Set

有序可重复     无序无重复      key无序无重复 value无序可重复

*ArrayList     HashSet

Vector       TreeSet

Stack(LIFO)

*LinkedList

add()        add()

remove()      remove()

set()

get()        iterator()

size()        size()

序:顺序 添加进去的元素 取得元素的顺序一致 注意指的不适集合自己的顺序

重复:两个对象元素一致

ArrayList、Vector区别-->StringBuilder  StringBuffer

List集合

1.ArrayList  2.LinkedList(双向链表)  3.Vector   4.Stack(一个口,先进后出)

1.ArrayList

所属的包 java.util

如何创建对象

无参数构造方法  带默认空间的构造方法  带collection参数的构造方法

常用方法--小容器(CURD 增删改查)

增删改查 add() remove() set() get() size()

addAll  removeAll  retainAll  indexOf  lastIndexOf  contains()  subList()

isEmpty()  clear()  ensureCapacity()  iterator()

toArray()  trimToSzie()

由于arrayList底层是一个Object[] 什么类型都可以存进去

取出来的时候多态的效果 需要自己造型 显得用起来非常的麻烦

JDK1.5之后-->泛型

用来规定数据类型的,定义的时候用一个符号代替某种类型

在使用的时候用具体的数据类型 将定义的那个符号替换掉

ArrayList特点适合遍历轮询  不适合插入删除;

泛型可以用在哪里?(not 造型)

在类或接口描述的时候 可以使用某种符号来表示一个未知的类型

在类型使用的时候 需要一个具体类型来代替

注意:泛型需要使用引用数据类型来代替

1.泛型类

类定义的时候描述某种数据类型 集合的使用就是这样

2.泛型接口

与泛型类的使用基本一致 子类实现接口时必须添加泛型

3.泛型方法

方法调用时传参数;方法的泛型与类无关 带有泛型的方法可以不放在带有泛型的类中;

4.高级泛型 规范边界 Extends super

import java.util.*;

public class Test0519{

public static void main(String[] args){

ArrayList a=new ArrayList();

a.add("abc");

a.add("10");

a.add("true");

a.add("3.4");

for(int i=0;i

System.out.println(a.get(i));

}//返回集合a中每个元素

System.out.println(a);//显示a中元素;重写了toString;

System.out.println(a.size());//显示长度;

int l=a.size();//a总长度;//每删除一个索引数据,则a长度-1;与数组不同,数组长度不变;

for(int i=0;i

System.out.println("即将删除元素是:"+a.get(0)+";此时a总长度为:"+a.size());

a.remove(0);

}

System.out.println(a);//显示a中元素;

System.out.println(a.size());//全部删除后,a中元素;

}

}

import java.util.*;

public class Test0519{

public static void main(String[] args){

ArrayList a=new ArrayList();

a.add(10);

a.add(2);

a.add(3);

ArrayList b=new ArrayList<>();

b.add(100);

b.add(200);

//b中所有元素添加到a中

//a.addAll(b);//[10,2,3,100,200]并集

a.addAll(1,b);//[10,100,200,2,3] 插入

System.out.println(a);

//a.clear();//[]

boolean ise=a.contains(200);//包含

System.out.println(ise);

System.out.println(a);

int x=a.indexOf(2);//该数第一个索引号;

System.out.println(x);

int y=a.lastIndexOf(2);//该数最后一个索引号;

System.out.println(y);

System.out.println(a.isEmpty());//空?

a.remove(0);//删除0号索引的值;

System.out.println(a);

a.remove(new Integer(2));

System.out.println(a);

a.retainAll(b);//交集

System.out.println(a);

System.out.println(b);

a.set(1,300);//改

System.out.println("set:"+a);

a.removeAll(b);//差集

System.out.println("ab差集"+a);

//集合交集,并集,差集

System.out.println("a长度:"+a.size());

System.out.println("b截取:"+b.subList(0,1));

Integer[] mm=new Integer[a.size()];

a.toArray(mm);//集合变成数组;

System.out.println(mm.length);

a.trimToSize();//变成有效元素个数那么长

System.out.println(a);

}

}

泛型不能使用基本类型--如果想要使用基本类型 需要使用其对应的包装类

总结

集合有很多类 非常庞大的一个系统

1.了解集合的每一个具体的分支 各种特点;

2.常用的集合的方法;

3.每一个集合的特点;

4.集合底层的原理;

java arraylist6_java 集合 ArrayList相关推荐

  1. Java学习——集合ArrayList类

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

  2. Java技能树-集合-ArrayList类

    1 需求 2 接口 Class ArrayList<E> public class ArrayList<E> extends AbstractList<E> imp ...

  3. Java中集合ArrayList、Map的使用

    ** 完整类的创建* package com.test.Model;public class Person {//创建Person类 包括Getter.Setter方法和无参构造方法.全参构造方法pr ...

  4. Java常用集合笔记

    最近事情比较少,闲暇之余温习巩固一下Java的一些基础知识,并做一些笔记, Java常用集合, 主要参考的这篇文章:Java常用集合 ArrayList/Vertor 1. ArrayList 的主要 ...

  5. mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String

    mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String 参考文章: (1)mybati ...

  6. java集合-ArrayList

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

  7. Java集合 ArrayList 扩容

    Java的集合框架 集合的分类 可以分为单列集合和双列集合 单列集合主要有Collection下面的List与Set,其中List最长被用到的是ArrayList与LinkedList以及Vctor三 ...

  8. java遍历集合中的元素_java中如何遍历ArrayList集合中的元素并输出

    问题: 假设集合ArrayList中存储的元素是整形数字1~5,遍历每个元素,将每个元素顺序输出. 在线学习视频推荐:java教学视频 示例如下:package work10; import java ...

  9. Java中的ArrayList集合定义、遍历、方法

    /* 一.定义 ArrayList集合的使用 是引用数据类型 实用的步骤: 1.导入包 java.util包中 2.创建引用类型的变量 数据类型<集合储存的数据类型> 变量名 = new ...

最新文章

  1. python 加速循环的执行_python循环怎么用多线程去运行
  2. java-unrar-0.3.jar_unrar.jar解压缩rar文件
  3. Springboot@Configuration和@Bean详解
  4. 高级C语言教程-存储器和指针
  5. html知识笔记(三)——img标签、form表单
  6. Docker : Dockerfile 定制镜像
  7. linux 0.11 源码学习(二)
  8. linux samba教程,Linux samba的配置和使用
  9. pytorch 使用 CPU 多进程多核训练模型
  10. 2018-10-16
  11. python qt gui快速编程 pdf_翻译:《用python和Qt进行GUI编程》——介绍
  12. 从应届技术男到百度VP,这是低调到没百科的吴海锋首次受访
  13. CxImage使用心得(转载)
  14. python读取pcap获得端口_Python处理网络数据包示例(pcapy读pcap文件)
  15. 服务器如何连接到虚拟机PXE,实机通过PXE启动虚拟机,如何设置
  16. 能源之星评级对数据中心IT设备的影响
  17. linux wireshark 中文,Wireshark (简体中文)
  18. ubuntu WPS字体缺失 解决方法
  19. 问卷答题模板:包括单选,多选,以及图片模式
  20. 管控内网安全 六项措施守护企业核心机密

热门文章

  1. Zabbix监控Jenkins过程详解
  2. Windows下Apache Tomcat 8安装配置
  3. CentOS 7安装megacli
  4. 利用zabbix自动发现监控mongo数据库
  5. windows安装grafana
  6. Zabbix4.2邮件告警python脚本
  7. 在Shell中,“$“和““的作用
  8. Eclipse中与CVS相连的工程中的文件,不显示版本信息时,如何处理(重启Eclipse)!
  9. Spring 2.5 jar 所有开发包及完整文档及项目开发实例
  10. java语言定义一个具备栈功能的类_Java学习笔记 第二章 Java语言基础