java集合-ArrayList学习笔记
集合和数组关系?
1) 集合是一种容器,可以存储多个数据.
2) 数组的长度是固定的,集合的长度是可变的.
3) 集合中存储的元素必须为引用类型数据,初始值为NULL
ArrayList集合类
ArrayList<E>集合:大小可变数组的实现
<E>:是一种特殊的数据类型,泛型(泛型,用来将数据类型,作为参数进行传递.)
在出现 E 的地方我们使用引用数据类型替换即可
举例:ArrayList<String>,ArrayList<Student>
构造方法: ArrayList()
成员方法:
l public booleanadd(E e):添加元素
l public voidadd(int index,E element):在指定的索引处添加元素
集合元素增删改查举例:
import java.util.ArrayList;
publicclass demo_11 {
publicstaticvoid main(String[] args) {
ArrayList<String>list = new ArrayList<String>();
// 添加元素:
list.add("hello");// 添加helloworld
list.add("world");
// 获取元素
list.get(0); // 获取第1个元素
// 集合的长度(元素个数)
list.size(); // 获取元素个数
// 删除元素
list.remove(1);// 删除第二个元素world
// 修改元素
list.set(0, "modify"); // 将hello改为modify;
System.out.println(list); // 输出结果为modify
//遍历获取每一个元素最标准的用法
for(inti=0;i<list.size();i++){
String s =list.get(i);
System.out.println(s);
}
}
}
集合元素功能方法:
1) 判断比较
s1.equals(s2) 比较字符串的内容是否相同
s1equalsIgnoreCase(String s2):比较字符串的内容是否相同,忽略大小写
s1 startsWith(Stringstr):判断字符串对象是否以指定的 str 开头
s1 endsWith(String str):判断字符串对象是否以指定的 str 结尾
获取功能方法
int length():获取字符串的长度,其实也就是字符个数
char charAt(int index):获取指定索引处的字符
int indexOf(String str):获取 str 在字符串对象中第一次出现的索引,没有返回-1
String substring(int start):从 start 开始截取字符串到字符串结尾
String substring(int start,intend):从 start 开始,到 end 结束截取字符串;包括 start,不包括 end
转换功能方法
char[] toCharArray():把字符串转换为字符数组
String s = "abcde";//定义一个字符串
char[] chs = s.toCharArray(); //字符串转换为字符数组
System.out.println(chs[2]);
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串
String[] split(String str)按照指定符号分割字符串
Iterator迭代器
l 集合的iterator方法,所以单列集合实现类均有该方法
l iterator方法的返回值类型Iterator接口类型
l Iterator接口的两个方法:hasNext与next方法
注意:在使用迭代过程中不要为集合添加/删除数据,防止并发异常.
三种方法遍历: 普通for 循环,迭代器,以及加强for循环遍历
泛型
1. 含有泛型的类:
1) 定义格式:修饰符 class 类名<代表泛型的变量> { }
2) 使用格式:创建对象时,确定泛型的类型
2. 含有泛型的方法:
1) 定义格式:修饰符 <代表泛型的变量> 返回值类型方法名(参数){ }
2) 使用格式:调用方法时,确定泛型的类型
3. 含有泛型的接口:
1) 定义格式:修饰符 interface接口名<代表泛型的变量> { }
使用格式:
2) 定义类时确定泛型的类型
3) 始终不确定泛型的类型,直到创建对象时,确定泛型的类型
使用泛型的好处
l 将运行时期的ClassCastException,转移到了编译时期变成了编译失败
l 避免了类型强转的麻烦
ArrayList 不是唯一的集合:
ü TreeSet 以有序状态保持并可以防止重复
ü HashMap 可以成对的name/value来保存与取出
ü LinkedList 针对经常插入或者删除元素所设计的高效率集合
ü HashSet 防止重复的集合,可以快速找寻相符的元素.
ü LinkedHashMap可以记住元素插入顺序,也可以设定成依照上次元素存储的先后顺序
java集合-ArrayList学习笔记相关推荐
- java集合框架学习笔记
思维导图 一.什么是集合 存放在java.util.*.是一个存放对象的容器. 存放的是对象的引用,不是对象本身 长度不固定 只能存放对象 二.collection接口 collection的使用 增 ...
- java集合的学习笔记
1 区别 1.1 数组 长度固定 可以存储基本类型和引用类型 1.2 集合 长度不固定 只能存储引用类型,存储基本类型则通过装箱操作,把基本类型装箱到引用类型保存到集合当中. 集合在java.util ...
- Java 8 实战学习笔记
Java 8 实战学习笔记 @(JAVASE)[java8, 实战, lambda] 文章目录 Java 8 实战学习笔记 参考内容 Lambda表达式 Lambda环绕执行模式(抽离步骤) 原始代码 ...
- java.util.List学习笔记
概述 在Java中,List是一种特殊的集合结构,即:List是一种有序的集合.在List接口的实现中,需要提供根据列表下表对元素进行操作的方法,包括:插入,删除,查询和修改等: List一般允许重复 ...
- Java快速入门学习笔记8 | Java语言中的数组
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- Java编程思想学习笔记-第11章
<?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...
- Java基础篇 学习笔记
List item Java基础篇 学习笔记 java基础篇 第1章 计算机.程序和java概述 学习笔记 1.1什么是计算机 简单来说:计算机就是 ' 存储 ' 和 ' 处理 ' 数据的电子设备. ...
- 01.Java 编程入门学习笔记20210307
Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...
- java/android 设计模式学习笔记(3)---工厂方法模式
这篇来介绍一下工厂方法模式(Factory Method Pattern),在实际开发过程中我们都习惯于直接使用 new 关键字用来创建一个对象,可是有时候对象的创造需要一系列的步骤:你可能需要计算或 ...
最新文章
- jQuery中$(function(){})与(function($){})(jQuery)的区别
- 基于 HTML5 的工业互联网云平台监控机房 U 位
- 前端资源系列(2)-SublimeText快捷键大全
- 手动挡应该这么换挡!这么多年都被驾校坑了!
- 标准库中的智能指针shared_ptr
- kail利用msf工具对ms11-003漏洞入侵渗透Win7
- [Editor][001][vim]VIM的辅助工具们
- python寻峰算法_现代法谱估计(1)Yule Walker 方程法MATLAB及Python实现
- 技能竞赛国赛_中西部第一!技能“川军”在第一届全国技能大赛斩获4金5银6铜...
- Python中使用tarfile压缩、解压tar归档文件
- flask开发restful api系列(7)-蓝图与项目结构
- 【OpenCV-Python】29.OpenCV的特征检测——特征匹配
- linux 下载git源码,在linux系统下Git源码系统的文件下载
- 易语言基于HTML(网页)开发软件界面UI的方法
- Python实现图片美化,醉后不知天在水?(附上代码) | 机器学习
- 中标麒麟系统远程桌面连接
- 深度多模态子空间聚类网络+代码实现
- 009.查找手机电话簿【散列表】
- weboffice控件接收html文件,WebOffice 文档控件API
- Blocking Queue