动态数组 - ArrayList

前言

  如果数组的大小要随时间变化,那么数组操作起来就比较麻烦。

  在C++中,这种情况要用到动态向量Vector。

  而Java中,提供了一种叫做ArrayList的泛型数组结构类型,提供相似的作用。

  其实都是一种东西,只是在使用上面有那么一点区别。

  本文将讲解ArrayList的具体使用方法。

ArrayList常用方法

  先要做如下说明:

    1. 因为 Java 不支持运算符的重载,所以不支持下标运算符,无法使用[]运算符来存取元素。

    2. ArrayList成员必须是对象类型(泛型不支持基本类型)。也就是int,float这些不能作为成员。如果要使用这些基本类型,必须使用其对象表达方式。(下文会讲解转换技巧)

  // 构造一个空数组列表

  ArrayList <T> ();

  // 设置数组列表指定位置的元素值

  void set (int index, T obj);

  // 获取数组列表指定位置的元素值

  T get (int index);

  // 删除一个元素

  T remove (int index);

  // 往数组列表里添加元素

  boolean add (T obj);

  // 往数组列表的指定位置插入元素

  void add (int index, T obj);

  // 获取当前容量

  int size();

示例代码

 1 package test;
 2
 3 import java.util.ArrayList;
 4
 5 public class Java7Learn {
 6
 7     public static void main(String[] args){
 8
 9         // 测试数组
10         int [] a = {1, 3, 5, 7, 9};
11
12         // 创建ArrayList并赋值
13         ArrayList<Integer> array = new ArrayList<Integer>();
14         for (int i:a) {
15             array.add(i);
16         }
17
18         // 打印结果
19         for (int i:array) {
20             System.out.print(i);
21             System.out.print(" ");
22         }
23         System.out.println();
24
25         // 将第一个元素设置为9
26         array.set(0, 9);
27
28         // 删除第3个元素
29         array.remove(2);
30
31         // 再打印结果
32         for (int i:array) {
33             System.out.print(i);
34             System.out.print(" ");
35         }
36         System.out.println();
37     }
38 }

运行结果

  

小结

  没什么多讲的,多用几次就会了。

  

  

时间: 2024-08-24 22:30:45

动态数组 - ArrayList的相关文章

动态数组arraylist的使用

package com.vince.list; import java.util.ArrayList; public class ListDemo { public static void arraylist(){//动态数组 ArrayList list=new ArrayList(); list.add(10); list.add("小白"); list.add(true); //插入第几个元素 //list.add(1,34); //删除元素 //list.remove(0);

C#动态数组ArrayList和List&lt;T&gt;的比较

C#中一维动态数组(即列表)分ArrayList和List<T>两种,其容量可随着我们的需要自动进行扩充 一.ArrayList类(少用) ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间 ArrayList里边的数据类型是object,它类似于向量,可以存储不同的数据类型在一个数组里边(转换为了object) 下面是ArrayList的声明: ArrayList list = new ArrayList(); //声明一个ArrayL

Java动态数组ArrayList

1.类结构: ·        java.lang.Object ·                         java.util.AbstractCollection<E> ·                                         java.util.AbstractList<E> ·                                                          java.util.ArrayList<E&

关于C#中的动态数组ArrayList

在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 二.ArrayList类与Array类的区别 ArrayList类实际上是Array类的优化版本. ArrayList只能定义一维数组,Arrays可以定义多维数组. ArrayList的下限始终为0,Array可以定义自己的下限. ArrayList的元素都是object类型的,因此需要进行装箱和拆箱操作,内存分配的代价很高,而Array的元素通常是特定类型的.

C#动态数组ArrayList

在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类的常用属性和方法 1. ArrayList类的常用属性 2. ArrayList类的常用方法 二.ArrayList类与Array类的区别 ?ArrayList类实际上是Array类的优化版本. ?ArrayList只能定义一维数组,Arrays可以定义多维数组. ?ArrayList的下限始终为0,Array可以定义自己的下限. ?Arra

C#深入研究ArrayList动态数组自动扩容原理

1 void Test1() 2 { 3 ArrayList arrayList = new ArrayList(); 4 int length = 3; 5 for (int i = 0; i < length; i++) 6 { 7 arrayList.Add("TestData"); 8 } 9 Console.WriteLine("count = " + arrayList.Count); 10 Console.WriteLine("capa

Java 动态数组 深究

[Java心得总结六]Java容器中——Collection在前面自己总结的一篇博文中对Collection的框架结构做了整理,这里深究一下Java中list的实现方式 1.动态数组 In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data

C# 动态数组(ArrayList)

动态数组(ArrayList)代表可单独被索引的对象的集合. 动态数组可以自动调整大小. 允许动态内存的分配,怎加,搜索,排序. using System; using System.Collections; namespace CollectionApplication { class Program { static void Main(string[] args) { ArrayList al = new ArrayList(); Console.WriteLine("Adding som

C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)

目录 00 简介 01 算法概述 02 公用方法 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存的忙闲状态,为进程分配和释放内存.当主存的空间太小而无法装入所有的进程时,就需要在内存和硬盘之间进行调度操作. 多数操作系统只采用某种特定的页面置换算法进行置换,无法预先探测当前运行进程的页面访问模式,因此不能根据不同的页面访问模式,选用不同的页面置换算法.当然,如果能对不同的访问模式选取相应的页面置换算法,