java----集合

 ArraysList:

为了方法动态数组的重复扩充,如果已知数据的大小多大,可以给ArraysList设置大小;

ArraysList 不适合 删除和插入操作

适合单线程使用,多线程不安全;

以一次添加数据是;扩展的容量为10;之后扩展算法:原数组大小+原数组大小的一半;

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

public class Test {
    public static void main(String[] args){
    	arraylist();
    }
    public static void arraylist(){
    	//可以添加任何对象,在开发中不建议使用
    	List list1 = new ArrayList();
    	list1.add("sdf");
    	list1.add("233");
    	list1.add(233);
    	int size1 = list1.size();
    	for(int i=0;i<size1;i++){
    		System.out.println(list1.get(i));
    	}
    	System.out.println(Integer.MAX_VALUE);
    	//只能添加字符串类型的;
    	List<String> list2 = new ArrayList<>();//后面可以省略String
    	list2.add("sdf");
    	list2.add("233");
    	list2.add("343");
    	list2.remove(1);     //通过索引删除
    	list2.remove("343"); //通过对象删除
    	int size2 = list2.size();
    	for(int i=0;i<size2;i++){
    		System.out.println(list2.get(i));
    	}
    }
}

  

 Vector:

线程安全

当增量为0时;扩充为原来大小的两倍;当增量大于0时候,扩充为原来的大小+增量;

import java.util.Vector;

public class Test {
    public static void main(String[] args){
    	vector();
    }
    public static void vector(){
    	Vector<String> v = new Vector<>();
    	v.add("33");
    	v.add("333");
    	v.add("3333");
    	
    	int size = v.size();
    	for(int i=0;i<size;i++){
    		System.out.println(v.get(i));
    	}
    }
}

  

 LinkedList:

采用双向链表

适合数据的插入和删除

import java.util.LinkedList;
public class Test {
    public static void main(String[] args){
    	linkedlist();
    }
    public static void linkedlist(){
    	LinkedList<String> Link = new LinkedList<>();
    	Link.add("33");
    	Link.add("333");
    	Link.add("3333");
    	
    	int size = Link.size();
    	for(int i=0;i<size;i++){
    		System.out.println(Link.get(i));
    	}
    }
}

  

猜你喜欢

转载自www.cnblogs.com/yanxiaoge/p/10719150.html