我是靠谱客的博主 无奈水壶,最近开发中收集的这篇文章主要介绍java中的Array list(数组列表)&&Multi Dimensional Array List(多维数组列表)及方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Array list(数组列表)

数组列表在英文中的解释是:

similar to an array but an ArrayList object’s size is automatically
adjusted to accommodate the number of items being stored.

翻译过来就是:类似于数组,但ArrayList对象的大小会自动调整以适应存储的项目数.
由此可知这是一个类似数组的东西,但是它是动态存储,有点像c语言中的链表,但与链表不同的是它可以根据数组下标直接找到对应元素,不必像链表一样遍历。
Array list(数组列表)包含在java.util package中
接下来我们说一下数组列表的一些有关方法:

  • ArrayList aList = new ArrayList();这是数组列表的一个声明
  • add items (next item or at a particular position)//添加数据
    例如:aList.add(“apple”); //如果插入的前方没有数字,则默认插入到数组列表的尾端。
    aList.add(1, “pear”);//表示在下标为1的地方插入字符串“pear”,同时后面的元素依次后移。
  • get an item at a particular position//读取数据
    例如:aList.get(0); //读取下标为0的元素
    aList.get(1);//读取下标为1的元素
  • get the size of the list//获取数组长度
    例如:aList.size();//这里的size()还有一个妙用,我会在下面进行说明
  • write out the entire list without having to visit each element
    例如:System.out.print(aList);//将列表中值全部输出,这里不需要像数组一样用for循环逐一输出,这也是数组列表的一个优点。

下面是一个实例,可以帮助大家理解数组列表动态的过程:

import java.util.Scanner;
import javax.swing.JOptionPane;
import java.util.*;
public class Task2
{
public static void main(String [] args)
{
ArrayList<String> aList = new ArrayList<String>();
//不同类型的数组列表需要加上不同的类型名称,如果是int型我们则需要:ArrayList<Integer>aList = new ArrayList<Integer>();来表示
aList.add("blue");
aList.add("black");
aList.add("red");
aList.add(1, "yellow");
aList.add((aList.size() - 1), "green");
System.out.println(aList);
}
}

输出结果:[blue, yellow, black, green, red]
过程讲解:
1.首先我们在这个列表中插入了一个"blue",这时候列表只有唯一一个元素:blue
2.我们再次插入了一个"black"在列表尾端,此时列表元素为:blue、black.
3.再次在尾端插入"red",此时列表元素为:blue、black、red.
4.在下标为1的地方插入一个"yellow",此时列表元素为:blue、yellow、black、red.//值得注意的是:列表是以下标0为开始,所以yellow会插入到第2位,同时后面的元素依次后移一位。
5.此时列表中共有4个元素,所以(aList.size() - 1)=3,也就是在下标为3的地方插入"green",由于列表下表从0开始,所以下表为3的地方也就是元素"red"的位置,此时我们会将”green“插入到原本”red“的位置,同时将”red“后移一位,所以最有也就形成了[blue, yellow, black, green, red]的输出。
其实数组列表还有很多方法在这里我就不一一详细讲解了:

  • aList.remove(1); //删除数据
  • aList.clear(); //删除所有元素
  • aList.set(1, “pink”);//修改
  • System.out.println(aList.contains(“red”));//查找
  • System.out.println(aList.indexOf(“black”));//返回表中第一个匹配元素的下标
  • System.out.println(aList.lastIndexOf(“red”));//返回最后一个匹配的元素的下标
  • contains(“red”);//如果此列表中包含指定的元素,则返回true
  • indexOf(“black”);//返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回-1
  • lastIndexOf(“red”);//返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回-1
  • isEmpty();//如果此列表中没有元素,则返回true 。这里也可以用size(),如果size()=0则也代表列表中没有元素
  • System.out.print(aList);//输出
  • for (int i = 0; i < aList.size(); i++) //输出
    System.out.println(aList.get(i));
    下面附上几个程序希望能够帮助大家更好的理解这些方法。
import java.util.*;
public class ArrayList3
{
public static void main(String [] args)
{
ArrayList<String> aList = new ArrayList<String>();
aList.add("blue");
aList.add("black");
aList.add("red");
aList.add(1, "yellow");
aList.add((aList.size() - 1), "green");
aList.remove(1);
aList.set(1, "pink");
for (int i = 0; i < aList.size(); i++)
System.out.print(aList.get(i) + "t");
}
}

输出结果:blue pink green red

import java.util.*;
public class ArrayList4
{
public static void main(String [] args)
{
ArrayList<String> aList = new ArrayList<String>();
int position;	aList.add("blue");	aList.clear();
System.out.println(aList.isEmpty());
aList.add("black");	aList.add("red");
System.out.println(aList.contains("red"));
position = aList.indexOf("black");
System.out.println(position);
position = aList.lastIndexOf("red");
System.out.println(position);
System.out.println(aList);
}
}

输出结果:
true
true
0
1
[black, red]

Multi Dimensional Array List(多维数组列表)

  • public static ArrayList<ArrayList> contactsList;//多维数组列表的声明
  • 多维数组列表创建 ,该函数会创建一个n列的多维数组列表,每一列可以看做一个单独的数组列表
public static void createArrayList()
{
int numberOfSubLists = n;
contactsList = new ArrayList<ArrayList<String>>();
for (int i = 1; i <= numberOfSubLists; i++)
contactsList.add(i, new ArrayList<String>());
}
  • contactsList.get(i).add(0, “yellow”);//提取第i列数组列表,并在下标为0的位置添加"yellow"元素
  • if (contactsList.get(i).size() == 0)//可以用来判断第i列数组列表是否为空列表
  • result=contactsList.get(n).get(m)//提取第n列数组列表中下标为m的元素,并把该元素赋值给result

最后

以上就是无奈水壶为你收集整理的java中的Array list(数组列表)&&Multi Dimensional Array List(多维数组列表)及方法的全部内容,希望文章能够帮你解决java中的Array list(数组列表)&&Multi Dimensional Array List(多维数组列表)及方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部