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. ...
随机推荐
- svn版本分支及冲突解决笔记
转载:http://blog.csdn.net/xuguiyi100/article/details/51966557 分支合并主干示例 1.主干工程右键选择merge合并下一步 2.选中merge ...
- Windows本地Linux虚拟机ping不通的解决办法
解决办法:启动虚拟机双网卡支持: 网卡1:Host-Only网络 网卡2:NAT网络 设置好以后,可以在Linux主机中ifconfig查看本地Host-Only的网络地址,与电脑中的地址应该是同一网 ...
- rabbitmq用户权限管理
原文地址: http://my.oschina.net/hncscwc/blog/262246 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号 ...
- UVa 1151 Buy or Build (最小生成树+二进制法暴力求解)
题意:给定n个点,你的任务是让它们都连通.你可以新建一些边,费用等于两点距离的平方(当然越小越好),另外还有几种“套餐”,可以购买,你购买的话,那么有些边就可以连接起来, 每个“套餐”,也是要花费的, ...
- eclipse的thrift插件
插件网址为:http://thrift4eclipse.sourceforge.net/en/install.html,经测试对Eclipse 4.4.2也有效: Eclipse 4.4.2上的安装步 ...
- swift - 动画学习
// // ViewController.swift // MapAnimation // // Created by su on 15/12/10. // Copyright © 2015年 ...
- Layout布局源码浅析之——FrameLayout
一直想研究下安卓各种布局控件,FrameLayout是安卓最简单的界面布局,所以就从FrameLayout讲起. 1.属性.frameLayout继承ViewGroup,除了拥有ViewGroup的属 ...
- Android-隐式意图激活操作系统通话界面
阅读Android操作系统的 packages/apps/phone/AndroidManifest.xml,是如何暴露的 AndroidManifest.xml Android操作系统在这里明确 ...
- gearman服务连接php java
在实际工作中,会碰到两个问题 (1)现有系统想集成一个开发组件,而该组件的SDK却没有现有语言版本. (2)系统中的一项功能非常耗费资源,最好能利用其它机器来处理. 本文介绍gearman的使用,实现 ...
- Solr查询query效果对比
q条件 默认分词(org.apache.solr.analysis.TokenizerChain) "parsedquery" IK分词(org.wltea.analyzer.lu ...