4.9.2 ArrayList 列表
来源:互联网 发布:微信大屏幕霸屏源码 编辑:程序博客网 时间:2024/06/06 01:58
package oop;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class UseArrayList {public static void main(String[] args) {// 创建一个list列表,通过ArrayList初始化,该列表中存放Integer对象List<Integer> list = new ArrayList<Integer>();/*这句意思是:创建一个list,这个list是通过List接口创建的,但通过ArrayList进行实例化。这么写的好处在于,如果将来不希望用ArrayList而是用LinkedList来实例化list列表时,只需将这句话的ArrayList改为LinkList即可。因为这些类都是实现List接口的,相应的方法也都来源于List接口。<Integer>表示泛型,也就是指定list列表中的元素都为Integer类型。虽然集合类支持存储不同数据类型的数据,但还是建议用相同数据类型;因为,其实集合类在存储不同数据类型的数据时,是将其统一转换为Object类型存储的,从根本上说,还是同一种类型。 *///通过add方法向List类型的列表(list)里添加数据list.add(1);//**list.add(2);list.add(2);list.add(2);list.add(3);//**list.add(4);//**list.add(2);list.add(2);list.add(2);list.add(6);//**list.add(2);//创建list的Iterator迭代器itIterator<Integer> it = list.iterator();//这里也使用了泛型,表明迭代器所指向的数据也是Integer的对象//遍历list,并将其中内容为2的元素删除while (it.hasNext()) {if (it.next().equals(2)) {it.remove();}}/*通过迭代器删除list中的数据—— 迭代器通过hasNext方法判断是否还有下一条记录,通过next方法移动到下一条记录。可以这样理解,迭代器初始时是指向list列表第一条记录的前一个位置的,而不是直接指向列表的第一条记录。 *///遍历并输出list列表it = list.iterator();System.out.println("通过迭代器输出list列表");while (it.hasNext()) {System.out.println(it.next() + " ");}//通过for循环遍历并输出list列表System.out.println("\n通过for循环遍历并输出list列表");for (Integer i : list) {System.out.print(i + " ");}//清空list列表list.removeAll(list);System.out.println("\n\n清空list列表");System.out.println("now the list size = " + list.size());//重新向list列表添加元素list.add(6);list.add(9);list.add(6);list.add(6);//从list中删除内容为2的元素for (int i = 0; i < list.size(); i++){if ((int) list.get(i) == 9) {list.remove(i);i = i -1;}}/*通过列表list本身删除list中的数据—— 1.列表list通过get方法获得指定下标处的元素。2.i=i-1;这句必须要有,当删除第i条记录时,列表长度会减1,第i+1条记录会变成第i条记录,第i+2条记录会变成第i+1条记录,以此类推。否则会出现一种bad case,连续两条可以删除的记录,删除了第一条后,后一条会由于取代了第一条的位置&&同时程序中对位置有++操作(for循环体中的i++)——>会由此导致后一条不会被删除的情况。 *///遍历并输出list列表it = list.iterator();System.out.println("\n通过迭代器输出list列表");while (it.hasNext()) {System.out.print(it.next() + " ");}/*tips:创建ArrayList时,如果不指定容量,则默认容量为10,也可在ArrayList的构造方法中指明初始容量。当ArrayList中的元素超过初始容量时,会自动扩容。 */}}
0 0
- 4.9.2 ArrayList 列表
- 【JAVA】+ ArrayLIst 类列表
- ArrayList(数组列表)
- C# ArrayList(数组列表)
- 11.6 ArrayList数组与列表
- 【集合】ArrayList数组列表类
- 泛型数组列表ArrayList
- android 列表之ArrayList适配器
- ArrayList生成动态数组列表
- 列表ArrayList类添加数据
- 泛型数组列表ArrayList
- 泛型数组列表ArrayList
- java ArrayList 列表简单用法
- #研究JAVAAPI系列--ArrayList列表#
- java打乱ArrayList生成一个随机ArrayList列表
- java 中列表元素删除,如ArrayList
- C#中的列表List与ArrayList
- C#==> 列表( List, ArrayList。。。)
- 算典05_例题_05_UVA-12096
- Android进阶知识点(SQLite数据库)
- 好的学习资源-好好学习
- C++QRCode生成
- Android代码练习:网格布局
- 4.9.2 ArrayList 列表
- 安卓 编译c/c++生成elf二进制可执行文件 交叉编译
- JDBC中Statement和PreparedStatement性能的比较
- studio开发文件被锁报错解决
- 详解 Android 的 Activity 组件
- 一个简单的android便签app
- 【Unity Shader】Shadow Caster、RenderType和_CameraDepthTexture
- 蓝桥杯模拟赛第五场
- [JZOJ5039]查询