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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker部署jenkins安装使用教程_docker封装python程序

    docker部署jenkins安装使用教程_docker封装python程序前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月31日
    6
  • mysql安装教程详细步骤[通俗易懂]

    mysql安装教程详细步骤[通俗易懂]1、下载mysql8.0.20安装包下载地址:https://dev.mysql.com/downloads/mysql/.找到安装包后下载。(官网为英文,如果看不懂的小伙伴可以将网站复制到谷歌进行翻译)https://www.cnblogs.com/2020javamianshibaodian/p/mysql8020anzhuangjiaocheng.html   点击跳过登录,直接下载到本地。安装mysql1、下载下来之后是一个zip的压缩包文件…

    2022年6月3日
    37
  • gradle下载太慢_苹果6网络慢怎么解决

    gradle下载太慢_苹果6网络慢怎么解决由于网络的原因,有些地方连接下载Gradle没问题,有些地方就不行,所以需要想办法解决先说下载,打开文件gradle-wrapper.properties文件,修改distributionUrl把services.gradle.org改成downloads.gradle-dn.com当然这方法可能有些地方不行,实在不行就上代理吧再说Gradle下载jar包慢,在build.gradle文件的repositories{}内添加上阿里的仓库当然,如果添加了阿里仓库还不行的话只能找其他方

    2025年7月31日
    1
  • java cas原理 CAP技术_fpga和java哪个好

    java cas原理 CAP技术_fpga和java哪个好1:CAS概念及原理CAS:CompareandSwap,翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。有啥用处?    对于常用

    2022年10月16日
    3
  • wxpython使用教程_wxPython的安装与使用教程[通俗易懂]

    wxpython使用教程_wxPython的安装与使用教程[通俗易懂]一、wxPython介绍1.wxPython是Python语言的一套优秀的GUI图形库。wxPython可以很方便的创建完整的、功能键全的GUI用户界面。wxPython是作为优秀的跨平台GUI库wxWidgets的Python1.封装和Python模块的方式提供给用户的。2.wxPython是跨平台的,可以在不修改程序的情况下在多种平台上运行。目前支持的平台有Win32/Win64、MacO…

    2022年5月21日
    39
  • 深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析

    深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU的线程数(PID数)和利用率(%CPU)。往往会发现很多问题,比如,GPU内存占用率低,显卡利用率低,CPU百分比低等等。接下来仔细分析这些问题和处理办法。1.GPU内存占用率问…

    2022年6月12日
    216

发表回复

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

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