Vector集合的三种遍历方法

本文深入探讨了Java中Vector集合的特点,包括其线程安全性、效率及使用方法。通过实例展示了如何添加元素、遍历集合,以及介绍了addElement、elements、size、elementAt、iterator等方法的使用。

Vector一种老的动态数组,很多方法都用synchonized修饰,所以它是线程安全得,而一般集合是线程不安全的

Vector集合存储元素的特特点
多个线程同时访问不会发生不确定的结果,但是它的效率会比较低,如果要考虑线程安全的话可以用它

import java.util.*;

/**
 * Vector集合存储字符串元素并遍历
 * 
 * @author Administrator
 *
 */
public class VectorDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Vector<String> v=new Vector<String>();//创建vector集合对象v
        v.addElement("hello");//为集合添加元素
        v.addElement("java1");
        v.addElement("java2");
        //遍历elements()
        Enumeration<String> em=v.elements();//返回此向量的组件的枚举,返回给em。 
        while(em.hasMoreElements()) {//em当前位置为空,判断下一个是否为空
            System.out.println(em.nextElement());//nextElement()往后挪一个位置,返回当前位置元素
        }
        System.out.println("-----------------------------------");

        //遍历2
        for(int i=0;i<v.size();i++) {//size()返回集合v的元素个数
            System.out.println(v.elementAt(i));//elementAt(i)返回当前元素
        }
        System.out.println("-----------------------------------");

        //遍历3
        Iterator<String> iter = v.iterator();//iterator()返回一个迭代器
        while(iter.hasNext()){//iter当前位置为空,判断下一个是否为空
        System.out.println(iter.next());//next()往后挪一个位置,返回房前位置元素

        }

    }

这里写图片描述

### 集合遍历方法总结 #### Java 中集合遍历方法 在 Java 中,集合可以通过多种方式进行遍历。以下是几种常见的方式及其特点: 1. **使用 Iterator 迭代器** `Iterator` 接口提供了两个核心方法:`hasNext()` 和 `next()`。前者用于判断是否存在未访问的元素,后者则返回当前元素并移动到下一个位置[^2]。 ```java import java.util.ArrayList; import java.util.Iterator; public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } } } ``` 2. **增强型 for 循环** 增强型 for 循环是一种更简洁的方式来遍历集合或数组。它隐藏了迭代器的具体实现细节。 ```java import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("X"); list.add("Y"); for (String item : list) { System.out.println(item); } } } ``` 3. **Lambda 表达式与 Stream API** 使用 Lambda 表达式和 Stream API 可以让代码更具表达力,尤其是在需要过滤、映射或其他操作时非常有用。 ```java import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("P"); list.add("Q"); list.stream().forEach(System.out::println); } } ``` --- #### JavaScript 中集合遍历方法 JavaScript 的集合类型主要包括 Array、Map、Set 等,支持多种形式的遍历方式。 1. **for...of 循环** `for...of` 是 ES6 引入的一种新语法,专门用来遍历可迭代对象(如数组、字符串、Map、Set)。这种方式简单直观[^3]。 ```javascript const array = ['a', 'b', 'c']; for (const element of array) { console.log(element); } const set = new Set(['d', 'e']); for (const value of set) { console.log(value); } ``` 2. **forEach 方法** 数组和其他集合类型的实例通常提供了一个 `forEach` 方法,可以接受一个回调函数作为参数。 ```javascript const map = new Map([['key1', 'value1'], ['key2', 'value2']]); map.forEach((value, key) => { console.log(`${key}: ${value}`); }); ``` 3. **传统 for 循环** 对于数组来说,传统的 `for` 循环仍然有效,尤其适用于需要手动控制索引的情况。 ```javascript const numbers = [10, 20, 30]; for (let i = 0; i < numbers.length; i++) { console.log(numbers[i]); } ``` 4. **entries() 方法配合解构赋值** 如果需要同时获取键和值,可以使用 `entries()` 方法结合 `for...of` 或其他形式。 ```javascript const obj = { name: "Alice", age: 25 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); } ``` --- #### 多语言对比分析 不同编程语言对集合的支持各有特色。例如,Python 支持类似的 `for...in` 结构;C++ 则依赖 STL 容器和迭代器机制。无论哪种语言,理解底层原理和最佳实践都至关重要。 ```cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3}; for (auto it = vec.begin(); it != vec.end(); ++it) { std::cout << *it << std::endl; } } ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值