【学习笔记】C# ArrayList

  • 集合

    • 集合是种容器,在程序中,使用集体管理相关对象组
    • 集合分为非泛型集合和泛型集合
  • 非泛型集合
    • 使用非泛型集合需要引入命名空间System.Collections
    • ArrayList-可以根据需要动态增加的数组
    • Hashtable-用来存储键值对的哈希表
    • Queue-遵循先进先出的队列
    • Stack-遵循后进先出的栈
  • 泛型集合
    • 使用泛型集合需要引入命名空间System.Collections.Generic
    • List<T>-可以根据需要动态增加的数组
    • Dictionart<TKey, TValue>-用来存储键值对的哈希表
    • Queue<T>-遵循先进先出的队列
    • Stack<T>-遵循后进先出的栈
  • ArrayList
    • ArrayList是一个特殊的数组
    • 通过添加或删除元素就可以动态改变数组长度
    • 可以灵活地插入、删除、访问元素
    • 不是强类型,速度跟普通的数组比要慢
  •       

     1 using System;
     2 // 使用非泛型集合需要引入命名空间
     3 using System.Collections;
     4
     5 namespace ArrayListDemo
     6 {
     7     class Program
     8     {
     9         public static void Log(ArrayList arr)
    10         {
    11             string str = "当前数组中有 " + arr.Count + " 个元素:(";
    12             for (int i = 0; i < arr.Count; i++)
    13             {
    14                 str += arr[i];
    15                 if (i < arr.Count - 1)
    16                 {
    17                     str += ",";
    18                 }
    19             }
    20             str += ")";
    21             Console.WriteLine(str);
    22         }
    23         static void Main(string[] args)
    24         {
    25             //1.首先创建对象
    26             ArrayList arr = new ArrayList();
    27             Log(arr);
    28
    29             //使用Add()方法添加元素,对元素类型没有限制
    30             arr.Add(17);
    31             arr.Add(2.5f);
    32             arr.Add("Li");
    33             Log(arr);
    34
    35             //使用 [下标] 来获取指定位置的元素
    36             //Console.WriteLine(arr[0]);
    37
    38             //获取当前数组中元素的数量
    39             int count = arr.Count;
    40
    41             // 使用insert()方法向制定下标位置插入元素
    42             arr.Insert(1, "Zhao");
    43             Log(arr);
    44
    45             //使用 Remove() 方法从数组中删除某个指定元素
    46             arr.Remove("Zhao");
    47             Log(arr);
    48             //使用RemoveAt()方法,将指定下标位置的元素删除
    49             arr.RemoveAt(0);
    50             Log(arr);
    51
    52             //使用 bool Contains()方法,判断指定元素是否存在当前数组中
    53             bool b = arr.Contains("Li");
    54
    55             //清空整个数组
    56             arr.Clear();
    57
    58         }
    59     }
    60 }
时间: 2024-08-10 19:18:42

【学习笔记】C# ArrayList的相关文章

java学习笔记--类ArrayList和LinkedList的实现

在集合Collection下的List中有两个实现使用的很频繁,一个是ArrayList,另一个是LinkedList,在学习中肯定都会有这样的疑问:什么时候适合使用ArrayList,什么时候用LinkedList?这时,我们就需要了解ArrayList和LinkedList的底层的实现,下面,为了更好的了解它们具体是怎样实现的,我们来写自己的ArrayList 和LinkedList. ArrayList底层是基于数组实现的,数组在内存中是存储在连续的存储单元中,在数据查找的时候比较快,适用

JAVA学习笔记-模拟ArrayList容器的底层实现

package MyArrayList;import java.util.*;/** * 模拟实现JDK中的ArrayList类 * @author iwang * */public class MyArrayList { /** * The value is used for Object storage. */ private Object[] value; /** * The size is the number of Object used. */ private int size; p

Java学习笔记之ArrayList基本用法

更多信息可关注我的个人博客:贱贱的梦想 ArrayList简介 ArrayList是一个其容量能够动态增长的动态数组.它继承了AbstractList,实现了List.RandomAccess, Cloneable, java.io.Serializable. 基本的ArrayList,长于随机访问元素,但是在List中间插入和移除元素时较慢.同时,ArrayList的操作不是线程安全的!一般在单线程中才使用ArrayList,而在多线程中一般使用Vector或者CopyOnWriteArray

.Net学习笔记----2015-06-24(ArrayList集合练习)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace _18集合的练习 { class Program { static void Main(string[] args) { #region 创建一个集合,里面添加一些数字,求平均值与和,最大值和最小

Java集合源码学习笔记(二)ArrayList分析

Java集合源码学习笔记(二)ArrayList分析 >>关于ArrayList ArrayList直接继承AbstractList,实现了List. RandomAccess.Cloneable.Serializable接口,为什么叫"ArrayList",因为ArrayList内部是用一个数组存储元素值,相当于一个可变大小的数组,也就是动态数组. (1)继承和实现继承了AbstractList,实现了List:ArrayList是一个数组队列,提供了相关的添加.删除.修

Java集合框架学习笔记

本文为学习笔记,学习课程为慕课网Java入门第三季中的集合框架部分,若需要研究文中的代码,可前往下载.http://www.imooc.com/learn/110 1. List(Collection子接口) 1.1 实例化 List list = new ArrayList(); ??List是一个接口,不可直接实例化,通常情况下ArrayList实现类进行实例化. 1.2 增 1.2.1 add(obj) ??直接将obj对象加入List末位. 1.2.2 add(i, obj) ??将ob

Android:日常学习笔记(8)———探究UI开发(5)

Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView的简单用法 public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","

【DAY12】第十二天集合&泛型&IO学习笔记

hash:散列 ------------------ Hashset集合内部是通过HashMap进行实现的.使用的是HashMap中key部分. 对象在添加进集合中时,首选会对hashcode进行处理(hashcode右移16位和 自身做异或运算)得到一个经过处理的hash值,然后该值和集合的容量进行 &运算,得到介于0和集合容量值之间一个数字.该数字表示着数组的下标. 也就是该元素应该存放在哪个元素中. Map与Collection -------------- Map与Collection在

Android学习笔记(十二)——实战:制作一个聊天界面

//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Patch图片是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而哪些区域不可以.一般用来作为聊天信息的背景.在此我们先准备一张png图片.然后在 Android sdk 目录下有一个 tools 文件夹,在这个文件夹中找到 draw9patch.bat文件. 双击打开之后, 在导航栏点击 File→

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载