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. 问不倒的HTTP协议

    一.HTTP简介 1.HTTP HTTP:超文本传输协议,是一种通信协议:允许超文本标记文档从Web服务器传送到客户端的浏览器中. 简单:传输html文件的协议. Web:是一种基于超文本和HTML的 ...

  2. .Net Core 实现图片验证码

    记录自己的学习,参考了网上各位大佬的技术,往往在登录的时候需要使用到验证码来进行简单的一个校验,这边使用在.net core上进行生成图片二维码 思路很简单=> 生成一个随机数->保存到服 ...

  3. Spring框架——IOC 工厂方法

    IoC 是典型的⼯厂模式,如何使⽤用⼯厂模式创建 bean, IoC 通过⼯厂模式创建 bean 有以下两种⽅式 xml <?xml version="1.0" encodi ...

  4. 居家办公之后,鹅厂小哥发现Web开发竟能助力身体健康!

    疫情特殊时期,各企业.学校纷纷启用远程办公和学习的方式,在办公期间,除了要完成日常工作安排,还要照顾自身的饮食起居,在高强度的工作节奏和缺少运动锻炼的情况之下,如何及早发现健康隐患,快乐办公?且看鹅厂 ...

  5. 1.Lambda表达式

    1.Lambda表达式 语法糖 也叫作糖衣语法,增强了代码的可读性 避免了出错的机会 但是,这种语法对于语言的功能并没有增强 和Lambda一样的糖衣语法还有:(1)泛型 <>(2)自动装 ...

  6. Splunk 基本使用

    Splunk 作为大数据搜索处理软件,作为行业的翘楚,绝对值得探索和学习,Splunk能实时对任何应用程序.服务器或者网络设备的数据和数据源进行搜索和索引,包括任何位置的日志.配置文件.信息.陷阱和预 ...

  7. canvas.toDataURL()报错的解决方案全都在这了

    报错详尽信息 Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases ...

  8. Ubuntu18.04下安装MySQL5.7(支持win10-wsl环境)

    注意: 本文操作环境为win10系统wsl下的Ubuntu18.04,对于原生的Ubuntu18.04同样适用.MySQL默认版本为5.7,其他版本不适用. 安装步骤 1.更新源: sudo apt ...

  9. Django-rest-framework源码分析(二)

    四.Serializer对象的data属性 在<Django-rest-framework源码分析(一)>中我分析了Serializer对象实例化的过程,而Serializer类的其他方法 ...

  10. 粒子群优化算法(PSO)之基于离散化的特征选择(FS)(四)

    作者:Geppetto 前面我们介绍了特征选择(Feature Selection,FS)与离散化数据的重要性,介绍了PSO在FS中的重要性和一些常用的方法.FS与离散化的背景,介绍了EPSO与PPS ...