前提:最近JAVA实训课老师讲了一些Arrarylist集合的相关知识,刚好端午假期有空就把这课上学到的知识和自己碰到的一些问题总结下来。

一.Arrarylist集合的使用(以学生信息存储作为演示):

  Aarrarylist集合有以下方法:

    object.add();

    //add()方法中填写的是泛型指定的类型

    object.remove(index);

    object.get(index);

    

  这里我先创建一个Student类作为数组存储学生信息:

public class Student {
public String sno;
public String sname;
public String sex;
public int age;
public String tel;

public Student(String sno,String sname,String sex,int age,String tel){
this.sno=sno;
this.sname=sname;
this.sex=sex;
this.age=age;
this.tel=tel;
}

@Override
public String toString() {
return "sno='" + sno + '\'' + ", sname='" + sname + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", tel='" + tel + '\'';
}
}

  其次创建一个Arrary的operate类

import java.util.List;
import java.util.ArrayList;

public class Array {
public static void main(String[] args) {
testString();
//testString的泛型使用的是String类型
Studenttest();
//Studenttest的泛型使用的是Student对象

}

public static void Studenttest(){
Student stu1 =new Student("1001","张三","男",18,"11111111111");
Student stu2 =new Student("1002","李四","男",18,"22222222222");
Student stu3 =new Student("1003","王五","男",18,"33333333333");

List<Student> list=new ArrayList<Student>();
list.add(stu1);
list.add(stu2);
list.add(stu3);

for(Student stu:list){
System.out.println(stu);
}
}

public static void testString() {
List<String> list = new ArrayList<String>();

list.add("tom");
list.add("张三");
list.add("李四");

for(int i=0;i<list.size();i++){
String str=list.get(i);
System.out.println(str);
}
}
  ArraryList集合有个特点:
  在使用object.remove(index)方法时删除index位置的信息后Arrary集合会"刷新"一次:将index位置后的信息的索引-1
演示:
 
public static void testString() {
List<String> list = new ArrayList<>();

list.add("tom");
list.add("张三");
list.add("李四");

list.remove(0);
list.remove(1);

for(int i=0;i<list.size();i++){
String str=list.get(i);
System.out.println(str);
}
}
  运行结果:

  

   分析:

      在运行了list.remove(0);后 张三的index由1变为0 李四的index由2变为1 所以删除的是李四

  

Arrarylist集合的使用的更多相关文章

  1. 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...

  2. 【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的I ...

  3. Java常见错误

    1.NullPointerExceptin 空指针异常 a.引用没有初始化就使用 b.引用置空了,仍然被使用 2.IndexOutofBoundsException 下标越界 a.数组下标小于0 或者 ...

  4. 深入Collection集合

    List集合 一.ArraryList: 最基本的集合不多做介绍 二.Vector Vector cn=new  Vector(); A:有特有功能 a:添加       public void ad ...

  5. C#集合类型大盘点

    C#集体类型( Collections in C#) 集合是.NET FCL(Framework Class Library)中很重要的一部分,也是我们开发当中最常用到的功能之一,几乎是无处不在.俗话 ...

  6. java 15 -3 集合的遍历的练习

    练习:用集合存储5个动物对象,并把动物对象进行遍历. 分析: A:创建动物类 a:无参构造方法 b:有参构造方法 c:get.set方法 B:创建集合对象 a:Collection animal = ...

  7. 集合的知识点梳理(List,Set,不包含泛型)

    1.集合的常用框架 根据数据结构划分: Collection list set ArraryList ,LinkList,Vector TreeSet,HashSet 2.集合的存储 都是存储的对象的 ...

  8. C#: 集合

    摘自http://www.cnblogs.com/kissdodog/archive/2013/01/29/2882195.html 先来了解下集合的基本信息 1.BCL中集合类型分为泛型集合与非泛型 ...

  9. JAVA基础知识之List集合

    List接口和ListIterator接口介绍 List集合新增方法 List集合判断元素重复的标准 ListIterator List.ArrayList和List.Vector 固定长度的List ...

  10. C# 之 集合整理

    集合,表示可以通过遍历每个元素来访问的一组对象(特别是可使用foreach循环访问):一个集合包括多个元素,即有一个集合类对象和N个元素对象. BCL(Base Class Library, 基类库) ...

随机推荐

  1. vue + canvas 实现九宮格手势解锁器

    前言 专栏分享:vue2源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位 ITer 关注点赞收藏 此篇文章用于记录柏成从零开发一个canvas九宮格手势解锁器的历程,最终效果如 ...

  2. Nexus搭建maven仓库并使用

    一.基本介绍 参考:https://www.hangge.com/blog/cache/detail_2844.html https://blog.csdn.net/zhuguanbo/article ...

  3. 「shoi 2012」随机数

    link. 对于 pass 1, 你把他考虑成 \(\frac{\sum x}{i}\) 的形式, 于是每次操作的贡献就是 \(\frac{2}{i}\), 那么答案就是 \(\sum_{i=2}^n ...

  4. Solution -「洛谷 P2044」「NOI 2012」随机数生成器

    Description Link. 给你一个递推式,让你求某一项的值模上 \(g\). Solution 这道题正解是矩阵.我这里给出一种分治的做法. 题目中说 $\ \ \ \ \ \ \ $ $\ ...

  5. linux查看IP、域名、端口的网络是否相通

    linux查看IP.域名.端口的网络是否相通 1. ping # 检索当前域名对应的IP地址 ping 域名 # 查看IP是否相通 ping IP 2. tlenet # 查看指定IP的端口是否相通, ...

  6. Python使用socket的UDP协议实现FTP文件服务

    简介 本示例主要是用Python的socket,使用UDP协议实现一个FTP服务端.FTP客户端,用来实现文件的传输.在公司内网下,可以不适用U盘的情况下,纯粹使用网络,来实现文件服务器的搭建,进而实 ...

  7. 关于 iPhone 上的相机功能

    关于 iPhone 上的相机功能 了解 iPhone 上的摄影风格.快录功能.超广角摄像头和其他相机功能.   通过摄影风格功能锁定您的风格 借助 iPhone 13 各款机型和 iPhone SE( ...

  8. 在 Rust 中实现 Repository 仓储模式

    前言 单位上有个 Rust 项目,orm 选型很长时间都没定下来,故先设计了抽象的仓储层方便写业务逻辑. 设计抽象接口 抽象只读接口,仅读取使用,目前需求仅用查询 id.查询全部和按名称搜索,当然理应 ...

  9. 【RcoketMQ】RcoketMQ 5.0新特性(一)- Proxy

    为了向云原生演进,提高资源利用和弹性能力,RcoketMQ在5.0进行了架构的调整与升级,先来看新特性之一,增加了Proxy层. 增加Proxy代理层 计算存储分离 计算存储分离是一种分层架构,将计算 ...

  10. umich cv-4-1 卷积网络基本组成部分介绍

    这节课中介绍了卷积网络的基本组成部分(全连接层,激活函数,卷积层,池化层,标准化等),下节课讨论了卷积神经网络的发展历史以及几种经典结构是如何构建的 卷积网络组成部分 前言 卷积层 池化层 norma ...