java arraylist遍历_java 遍历arrayList的四种方法

java arraylist遍历_java 遍历arrayList的四种方法importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassArrayListDemo{publicstaticvoidmain(Stringargs[]){Listlist=newArrayList();list.add(“luojiahui”);list.add(“…

大家好,又见面了,我是你们的朋友全栈君。

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class ArrayListDemo {

public

static void main(String args[]){

List list = new

ArrayList();

list.add(“luojiahui”);

list.add(“luojiafeng”);

//方法1

Iterator it1 = list.iterator();

while(it1.hasNext()){

System.out.println(it1.next());

}

//方法2

for(Iterator it2 = list.iterator();it2.hasNext();){

System.out.println(it2.next());

}

//方法3

for(String tmp:list){

System.out.println(tmp);

}

//方法4

for(int i = 0;i < list.size(); i ++){

System.out.println(list.get(i));

}

}

}

Java中ArrayList用法详解

听语音

|

浏览:3640

|

更新:2014-11-24 23:54

一键约师傅

百度师傅高质屏和好师傅,拯救你的碎屏机

System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。

工具/原料

Java

方法/步骤

1

一.优点

1。支持自动改变大小的功能

2。可以灵活的插入元素

3。可以灵活的删除元素

2

二.局限性

跟一般的数组比起来,速度上差些

3

三.添加元素

1.publicvirtualintAdd(objectvalue);

将对象添加到ArrayList的结尾处

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

内容为abcde

4

2.publicvirtualvoidInsert(intindex,objectvalue);

将元素插入ArrayList的指定索引处

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

aList.Insert(0,”aa”);

结果为aaabcde

5

3.publicvirtualvoidInsertRange(intindex,ICollectionc);

将集合中的某个元素插入ArrayList的指定索引处

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

ArrayListlist2=newArrayList();

list2.Add(“tt”);

list2.Add(“ttt”);

aList.InsertRange(2,list2);

结果为abtttttcde

6

四.删除

a)publicvirtualvoidRemove(objectobj);

从ArrayList中移除特定对象的第一个匹配项,注意是第一个

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

aList.Remove(“a”);

结果为bcde

7

2.publicvirtualvoidRemoveAt(intindex);

移除ArrayList的指定索引处的元素

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

aList.RemoveAt(0);

结果为bcde

8

3.publicvirtualvoidRemoveRange(intindex,intcount);

从ArrayList中移除一定范围的元素。Index表示索引,count表示从索引处开始的数目

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

aList.RemoveRange(1,3);

结果为ae

9

4.publicvirtualvoidClear();

从ArrayList中移除所有元素。

10

五.排序

a)publicvirtualvoidSort();

对ArrayList或它的一部分中的元素进行排序。

ArrayListaList=newArrayList();

aList.Add(“e”);

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

DropDownList1.DataSource=aList;//DropDownListDropDownList1;

DropDownList1.DataBind();

结果为eabcd

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

aList.Sort();//排序

DropDownList1.DataSource=aList;//DropDownListDropDownList1;

DropDownList1.DataBind();

结果为abcde

11

b)publicvirtualvoidReverse();

将ArrayList或它的一部分中元素的顺序反转。

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

aList.Reverse();//反转

DropDownList1.DataSource=aList;//DropDownListDropDownList1;

DropDownList1.DataBind();

结果为edcba

12

六.查找

a)publicvirtualintIndexOf(object);

b)publicvirtualintIndexOf(object,int);

c)publicvirtualintIndexOf(object,int,int);

返回ArrayList或它的一部分中某个值的第一个匹配项的从零开始的索引。没找到返回-1。

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);

intnIndex=aList.IndexOf(“a”);//1

nIndex=aList.IndexOf(“p”);//没找到,-1

d)publicvirtualintLastIndexOf(object);

e)publicvirtualintLastIndexOf(object,int);

f)publicvirtualintLastIndexOf(object,int,int);

返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“a”);//同0

aList.Add(“d”);

aList.Add(“e”);

intnIndex=aList.LastIndexOf(“a”);//值为2而不是0

g)publicvirtualboolContains(objectitem);

确定某个元素是否在ArrayList中。包含返回true,否则返回false

13

七.其他

1.publicvirtualintCapacity{get;set;}

获取或设置ArrayList可包含的元素数。

2.publicvirtualintCount{get;}

获取ArrayList中实际包含的元素数。

Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count。如果在添加元素时,Count超过Capacity,则该列表的容量会通过自动重新分配内部数组加倍。

如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。

在调用Clear后,Count为0,而此时Capacity切是默认容量16,而不是0

3.publicvirtualvoidTrimToSize();

将容量设置为ArrayList中元素的实际数量。

如果不向列表中添加新元素,则此方法可用于最小化列表的内存系统开销。

若要完全清除列表中的所有元素,请在调用TrimToSize之前调用Clear方法。截去空ArrayList会将ArrayList的容量设置为默认容量,而不是零。

ArrayListaList=newArrayList();

aList.Add(“a”);

aList.Add(“b”);

aList.Add(“c”);

aList.Add(“d”);

aList.Add(“e”);//Count=5,Capacity=16,

aList.TrimToSize();//Count=Capacity=5;

END

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163080.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stringstream的用法如何会出现-1为ffff的情况_string读取文件指定长度

    stringstream的用法如何会出现-1为ffff的情况_string读取文件指定长度【本文来自】http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/10/27823.html使用stringstream对象简化类型转换C++标准库中的提供了比ANSIC的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库

    2022年5月3日
    70
  • numpy.meshgrid()理解

    numpy.meshgrid()理解一句话解释numpy.meshgrid()——生成网格点坐标矩阵。关键词:网格点,坐标矩阵网格点是什么?坐标矩阵又是什么鬼?我先问个问题:这张图你会生成吗?…

    2022年4月27日
    57
  • mxgraph渲染页面_graph绘图

    mxgraph渲染页面_graph绘图Web绘图——mxGraph项目实战(精华篇)需求由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式,并且连接相邻动作的弧上标有执行此次相邻动作的频次,每个动作另附有一个数据集,这样有向图加数据集就构成了用户交互图。为此,自己想到了mxGraph,遂决定学习之。起步此次项目实战是受阅读参考文献[1]启发,并在其图形布局实例基础上进行。其

    2025年7月26日
    3
  • Telerik的RadControls控件(一)[通俗易懂]

    Telerik的RadControls控件(一)[通俗易懂]前言:Telerik(官网:http://www.telerik.com)是保加利亚的一个软件公司,专注于微软.Net平台的表示层与内容管理控件。我们提供高度稳定性和丰富性能的组件产品,并可应用在非常严格的环境中。现在拥有Microsoft,HP,Alcoa,BP,HarperCollins,Siemens,T-Mobile,HJHeinz和一些最主要的教育机构和很多政府

    2022年7月24日
    16
  • JavaScript表单提交「建议收藏」

    JavaScript表单提交「建议收藏」表单提交在前端编程阶段中也是一个重点。它是由页面数据保存到后台数据库的重要枢纽,通过表单提交的方式将数据上传到数据库进行保存。同时这些数据也包含用户信息、统计信息、日志信息等等。数据的信息不同,上传的方式也不同。在JavaScript中有四种种表单提交的方式:一、 Form表单手动提交(get与post)在没有任何Js代码的影响下,Form表单本身是自带提交功能的。在form元素标签上有两个…

    2022年10月7日
    4
  • Springboot+druid数据库连接池使用「建议收藏」

    Springboot+druid数据库连接池使用「建议收藏」1.为什么要使用数据库连接池使用数据库连接池主要考虑到程序与数据库建立连接的性能。创建一个新的数据库是一个很耗时的过程,在使用完之后,可能还需要不断的释放建立的连接,对资源的损耗大。而采用数据库连接池之后,首先就创建了固定数量的数据库连接,需要用的时候使用即可。当然,这样做的一个缺点是,可能某些时候完全没有数据库请求,但是也保持了数据库的最小连接数。浪费了…

    2022年9月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号