1.array 和ArrayList的区别?

  array 数组的长度是固定的,适应不了变化的需求。

  ArrayList集合的长度可变、大小可变。

2.为什么要用集合,它优点是什么?

  java是面向对象编程语言,面向对象对事物的描述都是通过对象来体现的。

  为了方便对对象操作,必须对这多个对象进行存储。这是就不能是一个基本的变量,应该是一个容器类型的变量。

  1)目前学到容器类型变量:StringBuilder、数组

  StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求。

  2) 所以,我们目前只能选择数组了,也就是我们前面学习过的对象数组。但是,数组的长度是固定的,适应不了变化的需求,那么,我们该如何选择呢?

  这个时候,java就提供了集合类供我们使用。

3.集合的使用

* 集合类的特点:
* 长度可变。
*
* ArrayList<E>:
* 大小可变数组的实现
*
* <E>:是一种特殊的数据类型,泛型。
* 怎么用呢?
* 在出现E的地方我们使用引用数据类型替换即可
* 举例:ArrayList<String>,ArrayList<Student>
*
* 构造方法:
* ArrayList()
 /* 添加元素:
* public boolean add(E e):添加元素
*/ public void add(int index,E element):在指定的索引处添加一个元素 public class ArrayListDemo {
public static void main(String[] args) {
//创建对象
ArrayList<String> array = new ArrayList<String>(); //添加元素
array.add("hello");
array.add("java");
array.add("worll"); //在指定的索引处添加元素
array.add(,"world"); System.out.println(array);
}
}

输出如下

/*
* 获取元素
* public E get(int index):返回指定索引处的元素
* 集合长度
* public int size():返回集合中的元素的个数
* 删除元素
* public boolean remove(Object o):删除指定的元素,返回删除是否成功
* public E remove(int index):删除指定索引处的元素,返回被删除的元素
* 修改元素
* public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
*/
public class ArrayListDemo2 {
public static void main(String[] args) {
//创建对象
ArrayList<String> array = new ArrayList<String>(); array.add("hello");
array.add("world");
array.add(""); System.out.println("array.get(1) = " + array.get());
System.out.println("array.size() = " + array.size());
System.out.println("array.remove(0) = " + array.remove());
System.out.println("array.set(0,\"hai\") = " + array.set(,"hai"));
System.out.println("array = " + array); }
}

输出如下

案例:

/*
* 给定一个字符串数组:{“张三丰”,“宋远桥”,“张无忌”,“殷梨亭”,“张翠山”,“莫声谷”},将数组中的元素添加到集合中,并把所有姓张的人员打印到控制台上。
*
* 分析:
* A:定义字符串数组
* B:创建集合对象
* C:遍历字符串数组,获取到每一个字符串元素
* D:把获取到的字符串元素添加到集合
* E:遍历集合
* 要判断每一个字符串元素是否以"张"开头,如果是,就输出在控制台
*/
public class ArrayListTest1 {
public static void main(String[] args) {
String[] array = {"张三丰","宋远桥","张无忌","魔声谷"}; ArrayList<String> arraylist = new ArrayList<String>();
for(int i=;i<array.length;i++) {
arraylist.add(array[i]);
} System.out.println(arraylist);
for(int i=;i<arraylist.size();i++) {
if(arraylist.get(i).startsWith("张")) {
System.out.println("arraylist zhang = " + arraylist.get(i));
}
}
}
}

输出:

												

9.1 ArrayList(集合)的使用,与array(数组)的对比的更多相关文章

  1. redis、mysql、和php原生array数组效率对比

    最近要做一个屏蔽词的功能,屏蔽词是保存在配置文件里,最开始是用php数组存储,然后查找. 后来随着屏蔽词的增多,速度明显的变慢了,于是考虑到用redis或mysql做. 于是写了一个测试,测试结果如下 ...

  2. Java_7 ArrayList集合

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

  3. java基础32 List集合下的ArrayList集合

    单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合 ...

  4. ArrayList集合与List与数组的区别

    import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.Lis ...

  5. ArrayList 集合的几种遍历的方法

    ArrayList 集合  也可称作动态数组(长度可变),在新建的时候是没有默认长度的,在新增数据长度小于10的时候,ArrayList 的长度会自动设置为10 //了解更多可以按住Ctrl 再点击你 ...

  6. C#语言基础——集合(ArrayList集合)

    集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...

  7. 2016年10月16日--ArrayList集合、特殊集合

    ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); Arra ...

  8. 5月11日 ArrayList集合复习、特殊集合、枚举类型

    一.ArrayList集合复习 //定义 ArrayList al = new ArrayList(); //添加元素 al.Add(); //插入元素 al.Insert(,); //查看个数 in ...

  9. C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;

    ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口:       2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...

  10. Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

    1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...

随机推荐

  1. MySQL InnoDB表的碎片量化和整理(data free能否用来衡量碎片?)

    网络上有很多MySQL表碎片整理的问题,大多数是通过demo一个表然后参考data free来进行碎片整理,这种方式对myisam引擎或者其他引擎可能有效(本人没有做详细的测试).对Innodb引擎是 ...

  2. asp.net core 3.x 微信小程序登录库(也可用于abp)

    视频教程(使用+实现原理):https://share.weiyun.com/57HKopT 建议直接看视频 源码地址:https://github.com/bxjg1987/abpGeneralMo ...

  3. 程序员找工作必备 PHP 基础面试题

    1.优化 MYSQL 数据库的方法 (1) 选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置 NOT NULL, 例如’省份,性别’, 最好设置为 ENUM (2) 使用连接(JOIN)来 ...

  4. 74. pNextID、pNextVal、pNID的区别

    pNextID是平台调用单个新增组件的时候调用的: pNextVal是平台批量新增的时候调用: pNID应该是自己写的 :

  5. Java爬取丁香医生疫情数据并存储至数据库

    1.通过页面的url获取html代码 // 根URL private static String httpRequset(String requesturl) throws IOException { ...

  6. python-集合,列表和元组

    a = {11,22,33} b = [11,22,33] c = (11,22,33,22) 集合:type(a) -->>set#集合内元素不可重复,花括号括起来的还有 -->& ...

  7. 解析“60k”大佬的19道C#面试题(上)

    解析"60k"大佬的19道C#面试题(上) 先略看题目: 请简述async函数的编译方式 请简述Task状态机的实现和工作机制 请简述await的作用和原理,并说明和GetResu ...

  8. 贪心-最大相容区间-Maximum Number of Events That Can Be Attended

    2020-02-16 16:24:19 问题描述: 问题求解: 看起来就像是sort + 贪心,但是具体如何做呢? 实际上本题是最大相容区间的变种题,在最大相容区间里,我们按照结束时间对interva ...

  9. Hive内外表的区分方法及内外部差异

    Hive内外部区分方法 查看hive元数据:进入mysql中hive元数据库,查看TBLS表,查看对应的表名和表类型: 在hive-cli界面:desc extended tablename,查看Ta ...

  10. MySQL优化之慢查询日志

    慢查询日志概述 所谓慢查询日志,就是用于记录MySQL中响应时间超过设定阈值的SQL语句,通过打开慢查询开关,MySQL会将大于阈值的SQL记录在日志中,以便于分析性能. 慢查询日志选项默认是关闭的, ...