java中容器vector的使用和存取

在java中vector容器相当于c++的动态数组, Vector 可实现自动增长的对象数组。 
java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量。比如在c,c++中所谓的“动态数组”一般都由指针来实现。为了弥补这个缺点,Java提供了丰富的类库来方便编程者使用,vector类便是其中之一。事实上,灵活使用数组也可以完成向量类的功能,但向量类中提供大量的方法大大方便了用户的使用。 

    创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况。可以考虑使用向量类。 

java vector遍历的五种办法:

  1. import java.util.Enumeration;  
  2. import java.util.Iterator;  
  3. import java.util.Vector;  
  4. import java.util.function.Consumer;  
  5. public class VetcorString {  
  6.   
  7.     public static void main(String[] args) {  
  8.         Vector<String>  t=new Vector<String>();  
  9.         t.add("H");  
  10.         t.add("E");  
  11.         t.add("L");  
  12.         t.add("L");  
  13.         t.add("O");    
  14.         //第一种  
  15.         for (String string : t) {  
  16.             System.err.print(string);  
  17.         }  
  18.         //第二种  
  19.         t.forEach(new Consumer<String>() {  
  20.             @Override  
  21.             public void accept(String t) {  
  22.                 // TODO Auto-generated method stub  
  23.                 System.out.print(t);      
  24.             }  
  25.         });  
  26.         //第三种  
  27.         for (int i = 0; i < t.size(); i++) {  
  28.             System.out.print(t.get(i));   
  29.         }  
  30.         //第四种  
  31.         Iterator<String> it = t.iterator();  
  32.         while (it.hasNext()) {  
  33.             String string = (String) it.next();  
  34.             System.err.print(string);  
  35.         }  
  36.         //第五种  
  37.         Enumeration<String> enume = t.elements();  
  38.         while(enume.hasMoreElements()){  
  39.             System.out.print(enume.nextElement().toString());  
  40.         }  
  41.     }  
  42. }

在java中访问容器时,需要和迭代器iterator配合使用。在上述方法中也有体现,接下来再举一个例子:

package suanFa01;

import java.util.*;

public class Day01 {
	public  static void main(String []args) {
		 Vector<Integer>  ivec = new Vector<Integer>();
		 System.out.println("请输入一个整数");
		 Scanner sc = new Scanner(System.in);
		 int n = sc.nextInt();
		 int k = 2;
		// Integer integer1 = new Integer(k);
		 System.out.println(n+"的质因数分解为:");
		 while(n>=2) {
			 if(n%k == 0) {
				 ivec.addElement(k);
				 n = n/k;
			 }
			 else {
				 ++k;
			 }
		 }
		Iterator<Integer> it = ivec.iterator();//通过迭代器来循环打印出容器中的元素
		while(it.hasNext()) {
			Integer nnn = it.next();
			System.out.print(nnn+"*");
		}
	 
	}

}

声明:原创文章,转载请注明出处。


猜你喜欢

转载自blog.csdn.net/double_sweet1/article/details/79708830