ArrayList集合与List与数组的区别
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List; public class Test {
public static void main2(String[] args) {
/* 1.说明什么是ArrayList集合
* ArrayList一般用于随机访问元素,虽然List也可以,但在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的!
* 一般在单线程中才使用ArrayList,而在多线程中一般使用Vector或者CopyOnWriteArrayList。 */
ArrayList<Integer> arrayList= new ArrayList<Integer>();
System.out.println("往集合的第一个位置插入数字2");
arrayList.add(0,2);
System.out.println("往集合里插入数字4");
arrayList.add(4);
arrayList.add(2,6);
arrayList.add(3,8);
arrayList.add(4,10);
arrayList.add(12);
arrayList.add(10);
System.out.println("删除集合里第3个元素");
arrayList.remove(2);
System.out.println("删除集合里的第一个包含的10的元素");
arrayList.remove((Object)10); System.out.println("第一种:通过迭代器遍历");
Iterator<Integer> it=arrayList.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
System.out.println("第二种:通过索引值遍历");
for(int i=0; i <arrayList.size();i++) {
System.out.println(arrayList.get(i));
}
System.out.println("第三种:for循环遍历");
for(Integer number:arrayList) {
System.out.println(number);
} /*
* 2.将ArrayList集合转换成数组integer整型
* ArrayList 集合的底层是通过数组来实现的,但是集合与数组还是有一些区别的,
* 简单来说,集合的长度是可变的,而数组的长度是不可变的,通过这点可以引发出一点效率上的差异,
* 当所处理的数据长度已知不变时,推荐用数组对其进行处理,当长度不可预知时,也只好通过集合对其进行处理。*/
System.out.println("toArray用法");
System.out.println("第一种方式(最常用)");
Integer[] integer1 = arrayList.toArray(new Integer[0]);
for(Integer i:integer1) {
System.out.println(i);
} System.out.println("第二种方式(容易理解)");
Integer[] integer2 = new Integer[arrayList.size()];
arrayList.toArray(integer2);
for(int i =0;i<integer2.length;i++) {
System.out.println(integer2[i]);
} System.out.println("判断集合是否包含数字4,如果包含显示true:"+arrayList.contains(4));
arrayList.clear();
System.out.println("判断集合是否为空,如果为空显示true:"+arrayList.isEmpty()); /*3.将组数转换成集合*/
String[] i ={"11","22","33"};
List<String> list = Arrays.asList(i);
for(Object o:list) {
System.out.println(o.toString());
} Integer[] ob = {11,22,33};
List<Integer> oblist = Arrays.asList(ob);
Iterator<Integer> iterator=oblist.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
ArrayList集合与List与数组的区别的更多相关文章
- Java学习:集合的使用与数组的区别
ArrayList 集合 ArrayList 集合 ArrayList<String> list = new ArrayList<>(); 对于ArrayList来说,有一个尖 ...
- Java基础知识强化之集合框架笔记01:集合的由来与数组的区别
1. 集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该 ...
- List Arraylist 数组的区别
数组.List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: ]; //赋值 s[]=]=]="c"; //修 ...
- Java集合和数组的区别
参考:Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据 转换 数组转换为集合: A ...
- Java自学-集合框架 与数组的区别
Java集合框架与数组的区别 示例 1 : 使用数组的局限性 如果要存放多个对象,可以使用数组,但是数组有局限性 比如 声明长度是10的数组 不用的数组就浪费了 超过10的个数,又放不下 //Test ...
- 【代码笔记】Java常识性基础补充(二)——数组、ArrayList集合、ASCII编码、 eclipse基础操作、eclipse调试、eclipse项目导入、eclipse快捷键
1.0 如何定义数组以及访问数组中的元素,如下所示.ArrayDemo01.java public class ArrayDemo01 { public static void main(String ...
- Arraylist集合、对象数组
Arraylist集合 ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. 他的特点:在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作,Ar ...
- C#语言基础——集合(ArrayList集合)
集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...
- ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
随机推荐
- 26-python图形化插件 wxpython安装时的问题
最实在而又最实用的的安装方式pip,且必须习惯使用的方式,会同步安装相关的依赖包: pip install -U wxPython 总是包超时的错误:于是更新了pip 之后还是不行,于是改为了下面的命 ...
- [DT] 数据结构术语中英文对照
数据结构术语中英文对照 数据 Data 数据元素 Data element 数据项 Data item 数据结构 Data structure 逻辑结构 Logical structure 数据类型 ...
- struts2下velocity做视图如何访问request,session等内置对象,如:原来webwork的$req
struts2下velocity做视图如何访问request,session等内置对象(转) velocity 内置对象 struts2 requestStruts2环境下用velocity做视图时访 ...
- JVM 垃圾回收- 转载 知识碎片
最近关注了一下垃圾回收的问题,想了解一下JVM 关于方法区的垃圾回收机制,找了几篇文章,不同的文章从不同角度讲述了一下,嗯... 拼凑起来 记录一下, 有些未验证正确性... JVM 方法区 当JVM ...
- [转]TCP的拥塞控制
1.引言 计算机网络中的带宽.交换结点中的缓存和处理机等,都是网络的资源.在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏.这种情况就叫做拥塞. 拥塞控制就是防止 ...
- Codeforces 768A Oath of the Night's Watch 2017-02-21 22:13 39人阅读 评论(0) 收藏
A. Oath of the Night's Watch time limit per test 2 seconds memory limit per test 256 megabytes input ...
- Oracle E-Business Suite并发处理机制(Current Processing)
2012年写过一篇关于Oracle E-Business Suite并发管理器的文章,回头看之前总结的内容还是比较单薄,很多点没说到,最近在看这块的内容,索性再写一篇稍微完整的文章来. Oracle ...
- 使用echarts绘制漂亮的渐变键盘仪表盘
echarts官方示例和默认样式都比较难看,经过一顿捣鼓实现比较漂亮的渐变仪表盘. 第一步:设置轴线 将图表轴线.label.分割线.隐藏,只保留刻度,然后修改刻度样式达到最终效果.不过要注意的是ax ...
- WPF 背景网格图
利用DrawingBrush来画出背景网格图 <DrawingBrush Viewport="0,0,80,80" ViewportUnits="Absolute& ...
- 63. 不同路径 II leetcode JAVA
题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 现在 ...