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与数组的区别的更多相关文章

  1. Java学习:集合的使用与数组的区别

    ArrayList 集合 ArrayList 集合 ArrayList<String> list = new ArrayList<>(); 对于ArrayList来说,有一个尖 ...

  2. Java基础知识强化之集合框架笔记01:集合的由来与数组的区别

    1. 集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该 ...

  3. List Arraylist 数组的区别

    数组.List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: ]; //赋值 s[]=]=]="c"; //修 ...

  4. Java集合和数组的区别

    参考:Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据   转换 数组转换为集合: A ...

  5. Java自学-集合框架 与数组的区别

    Java集合框架与数组的区别 示例 1 : 使用数组的局限性 如果要存放多个对象,可以使用数组,但是数组有局限性 比如 声明长度是10的数组 不用的数组就浪费了 超过10的个数,又放不下 //Test ...

  6. 【代码笔记】Java常识性基础补充(二)——数组、ArrayList集合、ASCII编码、 eclipse基础操作、eclipse调试、eclipse项目导入、eclipse快捷键

    1.0 如何定义数组以及访问数组中的元素,如下所示.ArrayDemo01.java public class ArrayDemo01 { public static void main(String ...

  7. Arraylist集合、对象数组

    Arraylist集合 ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. 他的特点:在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作,Ar ...

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

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

  9. ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系

    在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...

随机推荐

  1. c语言蛋疼的字符串赋值

    我觉得c语言比较蛋疼的一个地方就是给字符串赋值,不是初始化,是赋值. char string[20]={0}; 你不能通过 string="hello";这种方式赋值.但是在字符串 ...

  2. [Selenium] 在Grid模式下打印出当前Case是在哪台Node上运行

    AAAbstractFlow() public void getComputerNameOfNode(WebDriver driver){ String CIHub = Environment.get ...

  3. jsoncpp学习

    // MyJsonTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <fstream> #includ ...

  4. 访问localhost的phpmyadmin出现访问被拒绝

    原因是:没有配置MySQL数据库密码. 1.打开D:\wamp\apps\phpmyadmin x.xx找到config.inc.php. 修改并保存: $cfg['Servers'][$i]['us ...

  5. 马婕 2014MBA专硕考试 报刊选读 7 美国的欧洲时刻(转)

    http://blog.sina.com.cn/s/blog_3e66af46010170ma.html America's European moment美国的欧洲时刻 The troubling ...

  6. [转]【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    [流媒體]H264—MP4格式及在MP4文件中提取H264的SPS.PPS及码流 SkySeraph Apr 1st 2012  Email:skyseraph00@163.com 一.MP4格式基本 ...

  7. ImageUploader卸载教程-Xproer.ImageUploader

    1.1. 手动卸载控件-Windows XP 主要步骤如下: 1.关闭所有IE 2.打开cmd 3.进入C:\Windows\System32 4.输入命令regsvr32 -u ImageUploa ...

  8. SpringMVC源码解析- HandlerAdapter初始化

    HandlerAdapter初始化时,主要是进行注解解析器初始化注册;返回值处理类初始化;全局注解@ControllerAdvice内容读取并缓存. 目录: 注解解析器初始化注册:@ModelAttr ...

  9. Centos 7 安装 mysql5.7

    1.需要下载mysql 下载地址:http://dev.mysql.com/downloads/mysql/ 2.将下载的rpm包上传到centos 7上(我是放在根下面的opt目录) 3. 安装my ...

  10. SOCK开发之---TCP/IP简介

    在开发通信程序之前,都要先确定这些程序相互通信所使用的协议(protocol),在深入设计前,我们都需要先从高层次来判断通信由哪个程序发起以及相应在何时产生. 举例来说,一般认为web服务器是一个长时 ...