首页 > 代码库 > Java集合框架---重构设计

Java集合框架---重构设计

技术分享

面向接口编程:

接口类型 变量 =new 实现类();

List  list=new ArrayList();

---------------------------------------

List实现类的特点与性能分析

--------------------------------------

三者共同的特点和遵循的规范:

1):允许元素重复;

2):记录元素的先后添加顺序

--------------------------------------

vector类:

底层才有数组结构算法,方法都是使用Synchronized修饰,线程安全,但是相当于ArrayList较低;

ArrayList类:

底层才有数组结构算法,方法没有使用Synchronized修饰,线程不安全,相当于Vector较高。

ArrayLis现在基本上已经取代了Vector的江湖地位。

为了保证ArrayList线程安全,List lsit =Collections.SynchronizedList(new Arraylist(...));

LinkList类:

底层才有双链表结构算法,方法没有使用Synchronized修饰,线程不安全。

数组结构算法和双向链表结构算法的性能问题:

数组结构算法:插入和删除操作速度低,查询和更改较高;

链表结构算法:插入和删除操作速度快,查询和更改较慢;

---------------------------------------------------------------------------

使用的选择:
Vector类打死都不用!即使要用,就用ArrayList类。

如果插入和删除操作频繁,应该使用LinkList类;

如果查询和更改操作频繁,应该使用ArrayList类;

在开发中。较多使用ArrayList类,根据具体的需求环境来选择;

技术分享

 

 

 

技术分享

 

技术分享

技术分享

技术分享

技术分享

 


public static void main(String[] args) {
    List list=new ArrayList();
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    //方式1:for循环
    for (int index = 0; index < list.size(); index++) {
        Object rest = list.get(index);//取出指定索引位置的元素
        System.out.println(rest);
    }
    System.out.println("---------------------------------------------------------------------------");
    //方式2:for-each增强for循环
    for (Object ele : list) {
        System.out.println(ele);
    }
    System.out.println("---------------------------------------------------------------------------");
    //方式3:使用while循环操作迭代器Iterator
    Iterator it=list.iterator() ;
    while(it.hasNext()){
        System.out.println(it.next());
    }
    System.out.println("---------------------------------------------------------------------------");
    //方式4:使用for循环操作迭代器Iterator
    for (Iterator it2=list.iterator() ;it2.hasNext(); ) {
        System.out.println(it2.next());
    }
    System.out.println(list);
}

 

技术分享

 



技术分享

 

Java集合框架---重构设计