集合和数组关系?

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学习笔记相关推荐

  1. java集合框架学习笔记

    思维导图 一.什么是集合 存放在java.util.*.是一个存放对象的容器. 存放的是对象的引用,不是对象本身 长度不固定 只能存放对象 二.collection接口 collection的使用 增 ...

  2. java集合的学习笔记

    1 区别 1.1 数组 长度固定 可以存储基本类型和引用类型 1.2 集合 长度不固定 只能存储引用类型,存储基本类型则通过装箱操作,把基本类型装箱到引用类型保存到集合当中. 集合在java.util ...

  3. Java 8 实战学习笔记

    Java 8 实战学习笔记 @(JAVASE)[java8, 实战, lambda] 文章目录 Java 8 实战学习笔记 参考内容 Lambda表达式 Lambda环绕执行模式(抽离步骤) 原始代码 ...

  4. java.util.List学习笔记

    概述 在Java中,List是一种特殊的集合结构,即:List是一种有序的集合.在List接口的实现中,需要提供根据列表下表对元素进行操作的方法,包括:插入,删除,查询和修改等: List一般允许重复 ...

  5. Java快速入门学习笔记8 | Java语言中的数组

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  6. Java编程思想学习笔记-第11章

    <?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...

  7. Java基础篇 学习笔记

    List item Java基础篇 学习笔记 java基础篇 第1章 计算机.程序和java概述 学习笔记 1.1什么是计算机 简单来说:计算机就是 ' 存储 ' 和 ' 处理 ' 数据的电子设备. ...

  8. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  9. java/android 设计模式学习笔记(3)---工厂方法模式

    这篇来介绍一下工厂方法模式(Factory Method Pattern),在实际开发过程中我们都习惯于直接使用 new 关键字用来创建一个对象,可是有时候对象的创造需要一系列的步骤:你可能需要计算或 ...

最新文章

  1. jQuery中$(function(){})与(function($){})(jQuery)的区别
  2. 基于 HTML5 的工业互联网云平台监控机房 U 位
  3. 前端资源系列(2)-SublimeText快捷键大全
  4. 手动挡应该这么换挡!这么多年都被驾校坑了!
  5. 标准库中的智能指针shared_ptr
  6. kail利用msf工具对ms11-003漏洞入侵渗透Win7
  7. [Editor][001][vim]VIM的辅助工具们
  8. python寻峰算法_现代法谱估计(1)Yule Walker 方程法MATLAB及Python实现
  9. 技能竞赛国赛_中西部第一!技能“川军”在第一届全国技能大赛斩获4金5银6铜...
  10. Python中使用tarfile压缩、解压tar归档文件
  11. flask开发restful api系列(7)-蓝图与项目结构
  12. 【OpenCV-Python】29.OpenCV的特征检测——特征匹配
  13. linux 下载git源码,在linux系统下Git源码系统的文件下载
  14. 易语言基于HTML(网页)开发软件界面UI的方法
  15. Python实现图片美化,醉后不知天在水?(附上代码) | 机器学习
  16. 中标麒麟系统远程桌面连接
  17. 深度多模态子空间聚类网络+代码实现
  18. 009.查找手机电话簿【散列表】
  19. weboffice控件接收html文件,WebOffice 文档控件API
  20. Blocking Queue

热门文章

  1. sim卡没坏但苹果手机无服务_苹果iPhone手机信号弱或无服务怎么解决【解决方法】...
  2. DBSwitch阉割版实现异构数据库表结构同步
  3. 续写墨仓式传奇 专访爱普生市场负责人
  4. 新媒体管家Plus停服,新媒体民工如何接锅完成自救?
  5. 推特的id生成器的使用
  6. java毕设项目开源啦,springboot+Thymeleaf的仿豆瓣电影论坛系统
  7. 【运维面试】面试官问到tcp/ip三次握手,四次挥手,这么回答就对了
  8. 用java写一个简易日历
  9. CC2530控制LED闪烁
  10. CSS3-web字体