1.set和List的区别
①set是无序的不重复数据,而List是有序并可以重复数据
②set检索效率低,插入和删除效率高,插入和删除不会引起数据位置变化(实现类有TreeSet,HashSet)
③List和数组类似,可以动态增长,根据实际的数据长度自动增长List长度。检索效率高,插入和删除效率低,插入和删除和引起数据位置的变化(实现类有ArrayList,LinkedList,Ventor)
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String [] args){
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
for(String lists:list){
System.out.println(lists);
}
list.remove(2);
System.out.println(list);
}
}
运行结果
捕获.PNG
ArrayList和LinkedList的区别
①Array基于数组的动态数据结构,LinkedList基于链表的数据结构
②对随机的访问的get和set,ArrayList要优于Linkedlist,因为LinkedList要移动指针
③对于新增的add,和removeLinkedList要优于ArrayList因为ArrayList要移动数据
ArrayList 和Vector的区别
①ArrayList线程不安全,Vector线程安全
②当元素大小超过它初始的大小时,ArrayList只增50%,Vector增加一倍。
网友评论