首页 > 编程语言 >一分钟轻松掌握Java的Vector&ArrayList

一分钟轻松掌握Java的Vector&ArrayList

时间:2024-06-21 22:01:12浏览次数:13  
标签:返回 元素 Java ArrayList Object 指定 列表 Vector

Vector方法是同步的,线程安全
ArrayList方法是非同步的,效率较高
向量变量的声明格式
Vector<向量元素的数据类型> 变量名;
示例
Vector vs;
创建向量实例对象
Vector vs = new Vector( );
在Java中,Vector<Object> 是一个泛型Vector,它专门用于存储Object类型或其子类型的对象。当你声明一个Vector<Object>并初始化它时,你创建了一个可以存储任何类型对象的Vector(因为所有类都是Object类的子类)。

但是,由于你使用的是原始类型Object作为泛型参数,所以在向Vector中添加或从中检索对象时,你需要进行显式的类型转换,除非你确信你知道存储在其中的对象的实际类型。

以下是如何声明并初始化一个Vector<Object>以及如何使用它的示例:

import java.util.Vector;

public class VectorExample {
    public static void main(String[] args) {
        Vector<Object> vo = new Vector<Object>(); // 或者使用钻石操作符: new Vector<>()

        // 向Vector中添加元素
        vo.add("Hello"); // 这是一个String对象,它是Object的子类
        vo.add(42);      // 这是一个Integer对象,它也是Object的子类
        vo.add(1.23);    // 这是一个Double对象,同样是Object的子类

        // 遍历并打印Vector中的元素
        for (Object obj : vo) {
            // 由于我们不知道对象的实际类型,我们可以打印它的字符串表示
            System.out.println(obj.toString());

            // 如果你知道某个元素的具体类型,你可以进行显式的类型转换
            if (obj instanceof String) {
                String str = (String) obj;
                System.out.println("String value: " + str);
            } else if (obj instanceof Integer) {
                Integer num = (Integer) obj;
                System.out.println("Integer value: " + num);
            }
            // ... 其他类型检查
        }
    }
}

在这个例子中,我们向Vector<Object>中添加了一个字符串、一个整数和一个双精度浮点数。当我们遍历Vector并打印元素时,我们使用了ObjecttoString()方法(因为所有对象都继承自Object类,并因此继承了这个方法)。如果我们知道某个元素的具体类型,我们可以使用instanceof操作符来检查它,并进行显式的类型转换。

注意,从Java 7开始,你可以使用“钻石操作符”(<>)来自动推断泛型类型,所以new Vector<Object>()可以简写为new Vector<>()。然而,在Java 5和6中,你仍然需要明确指定泛型参数。
ArrayList 中的元素实际上是对象,在以上实例中,数组列表元素都是字符串 String 类型。

如果我们要存储其他类型,而 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。
以下是 ArrayList 的一些常用方法:

  1. add(E e)
    在列表的末尾追加指定的元素。

  2. add(int index, E element)
    在列表的指定位置插入指定的元素。

  3. remove(int index)
    移除列表中指定位置的元素。

  4. remove(Object o)
    移除列表中首次出现的指定元素(如果存在)。

  5. get(int index)
    返回列表中指定位置的元素。

  6. set(int index, E element)
    用指定的元素替换列表中指定位置的元素。

  7. size()
    返回列表中的元素数量。

  8. isEmpty()
    如果列表不包含元素,则返回 true

  9. contains(Object o)
    如果列表包含指定的元素,则返回 true

  10. indexOf(Object o)
    返回指定元素在列表中首次出现的索引;如果列表不包含此元素,则返回 -1

  11. lastIndexOf(Object o)
    返回指定元素在列表中最后一次出现的索引;如果列表不包含此元素,则返回 -1

  12. clear()
    从列表中移除所有元素。

  13. toArray()
    返回一个包含列表中所有元素的数组。

  14. subList(int fromIndex, int toIndex)
    返回列表中指定的 fromIndex(包括)和 toIndex(不包括)之间的部分视图。

  15. iterator()
    返回列表中元素的列表迭代器(按元素的插入顺序)。

  16. listIterator()
    返回列表中元素的列表迭代器(按元素的插入顺序)。

  17. listIterator(int index)
    返回列表中元素的列表迭代器(按元素的插入顺序),从列表的指定位置开始。

  18. addAll(Collection<? extends E> c)
    将指定集合中的所有元素添加到列表的末尾。

  19. addAll(int index, Collection<? extends E> c)
    从指定的位置开始,将指定集合中的所有元素插入到此列表中。

  20. retainAll(Collection<?> c)
    仅保留此列表中那些也包含在指定集合中的元素(可选操作)。

  21. removeAll(Collection<?> c)
    从此列表中移除指定集合中包含的所有元素(可选操作)。

  22. containsAll(Collection<?> c)
    如果此列表包含指定集合中的所有元素,则返回 true

  23. equals(Object o)
    比较指定的对象与此列表是否相等。

  24. hashCode()
    返回此列表的哈希码值。

请注意,ArrayList 中的元素是有序的,并且允许有重复的元素。如果需要一个不包含重复元素的列表,可以使用 HashSet 或者 LinkedHashSet(保留插入顺序)。

标签:返回,元素,Java,ArrayList,Object,指定,列表,Vector
From: https://blog.csdn.net/FASTR/article/details/139870722

相关文章

  • java周测总结(2)
    1.什么是I0流.  是一串流动的字符从先进先出的方式发送信息的通道。2.IO流共有多少种划分方式,分别都包含哪些流三种   按流分   输出输入流   按处理单元分字节和节符按流的角色方节点流和处理流3.如何把字荐串交量str转换为字节数组,并且存入bytes数......
  • vector oj题 和 位运算
    知识点1:lowbit(x)        简介:众所周知,lowbit()操作是算法竞赛中的高级技巧,特别是高级数据结构,线段树的核心,还有什么二进制与位运算题目,而本文就用最通俗易懂的话,来教会大家lowbit的含义。        含义:lowbit(x)是x的二进制表达式中最低位的1所对应的值。......
  • 基于Java+SSM的吃了吗美食店铺推荐订餐系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了吃了吗管理系统的开发全过程。通过分析吃了吗管理系统管理的不足,创建了一个计算机管理吃了吗管理系统的方案。文章介绍了吃了吗管理系统的系统分析部分,包括可行性分析等,......
  • 基于Java+SSM的和谐小区物业管理系统
    传统办法管理双星小区物业信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装双星小区物业管理系统软件来发挥其高效地信息处理的作用,可以规范双星小区物业信息管理流程,让管理工作可以......
  • 基于Springboot的原创歌曲分享平台(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的原创歌曲分享平台(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven+Layui+Elementui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统......
  • java干货 spring aop的理解和使用
    文章目录一、AOP概念1.1aop思想1.2aop应用场景二、aop如何使用2.1八个核心名词2.2代码实现一、AOP概念1.1aop思想APO(面向切面编程)是一种编程思想,它通过将通用的横向关注点(日志、事务、权限控制等)与业务逻辑分离,实现解耦,使得代码更易于维护。核心......
  • Java 抽象类
    目录1、什么是抽象类2、定义抽象类3、抽象类特性4、抽象类的作用1、什么是抽象类抽象类,顾名思义就是抽象的。该类没有包含足够的信息去描绘一个具体的对象,这样的类称为抽象类。抽象类着一种优化了的概念组织方式,它是所有子类的公共属性的集合,抽象类用来描述对象的一......
  • 【Java获取天气信息】
    获取天气信息需求源代码返回信息详解天气预报API城市代号需求页面需要显示天气信息,所以需要调用天气API获取天气信息,找了好多api,还是SOJSON的最方便最实惠(免费),不需要注册和申请秘钥。源代码直接贴代码,拿着即用(为了减少访问接口压力,这里使用了redis缓存4小时)......
  • JAVA每日总结day6.21
    ok了家人们,今天我们学习了面向对象中关键字的使用和抽象类,话不多说,我们一起看看吧,(今天终于星期五了,芜湖!!!)一,this和super关键字1,this关键字的三种用法1.1this的意义 this:表示当前对象this可以访问:本类的成员属性、成员方法、构造方法;1.2 this.成员变量(第一种)......
  • JavaScript算法之龟兔赛跑
    简介:龟兔赛跑算法,又称弗洛伊德循环检测算法,是一种在链表中非常常用的算法。它基于运动学和直觉的基本定律。本文旨在向您简要介绍该算法,并帮助您了解这个看似神奇的算法。假设高速公路上有两辆车。其中一辆的速度为x,另一辆的速度为2x。它们唯一能相遇的条件是它们都在循环......