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. ST-LINK驱动的安装

    1.下载ST-LINK驱动ST-LINK_USB_V2_1_Driver 双击dpinst_amd64.exe来安装. 成功会显示: 2.进入MDK5里面去配置ST-LINK 通过魔术棒选项: a.D ...

  2. 安装wampserver后,在www文件夹下面写php文件,而在网页里输入localhost而无法打开php文件时解决办法汇总

    wampserver安装后,在www文件夹下面写入xx.PHP文件,然后在网页里输入localhost:xx.PHP. 你可能会遇到如下三种情况: 情形一:网页上显示空白,按F12,出现404的错误. ...

  3. 【转】C中的静态存储区和动态存储区

    一.内存基本构成    可编程内存在基本上分为这样的几大部分:静态存储区.堆区和栈区.他们的功能不同,对他们使用方式也就不同.    静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个 ...

  4. PostgreSQL CPU满(100%)性能分析及优化

    业务场景:大批量更新时,数据库长时间CPU占用超过90,影响其他正常业务流程,参考阿里云上的一篇文章:https://help.aliyun.com/knowledge_detail/43562.ht ...

  5. mdk3攻击实例

    Authentication Flood,mdk3下参数为a: mdk3 mon0 a –a AP的MAC地址(BSSID) -c来对指定的频道进行攻击 -a固定bssid进行攻击 -s控制发包速率. ...

  6. VS2017设置默认管理员权限启动

    找到vs安装目录下的:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe 右键- ...

  7. Codeforces766A Mahmoud and Longest Uncommon Subsequence 2017-02-21 13:42 46人阅读 评论(0) 收藏

    A. Mahmoud and Longest Uncommon Subsequence time limit per test 2 seconds memory limit per test 256 ...

  8. Android-SqliteSQL语句大全

    SqliteSQL语句大全 创表语句: create table student_table(_id integer primary key autoincrement, name text, age ...

  9. SQLServer中数据加密方法

    对SQLServer中的数据进行加密,有三种方法, 1.  在程序语言中先对数据进行加密后再把加密后的数据保存在SQLServer数据库中: 2.  利用SQLServer未公开的加密密码函数,在SQ ...

  10. iOS Keychain 跨应用

    Keychain 可以用来持久保存一些信息.通常每个应用都有自己的 Keychain Access.但有时你会需要多个应用共用一些信息.这时需要创建 Keychain Access Group. Ke ...