码迷,mamicode.com
首页 > 编程语言 > 详细

Java集合框架(一)

时间:2016-07-24 21:09:20      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:java   vector   arraylist   list   set   

集合:用来存放多种元素的一种类型。

框架:是一种结构体系,有多个类构成。

下面介绍两种常用的集合,即Collection集合和Map集合。

Collection集合

           Collection(接口)     
 List(子接口)

     Set(子接口)

ArrayList、LinkedList、VerctorHashSet、TreeSet


  如上表所示,Collection是个单列集合,一个接口,下面主要有List和Set两个子接口,List子接口下面又包含ArrayList、LinkedList和Vector具体实现类;Set子接口下面主要有HashSet和TreeSet具体实现类。

说明:

  1. List接口是有索引,而Set接口无索引;

  2. HashSet里面元素是有序的,TreeSet里面元素是无序的;

  3. ArrayList:动态数组,表示数组长度可变;

  4. Vector 向量:基于数组实现的,但是已经过时,现在都用ArrayList。

ArrayList和LinkedList 比较

ArrayList,LinkedList 使用方法完全一样, 区别在于数据存储方式不同,称为不同的数据结构。


 实现机制       优点        缺点
ArrayList基于数组实现连续存放,查找速度比较快。增加元素或者删除元素比较慢。
LinkedList基于链表实现增加元素或删除元素比较快不连续存放,查找速度比较慢

一个ArrayList的示例

public class Test {public static void main(String[] args) {
    ArrayList<String> al=new ArrayList<String>();
    al.add("beijing");
    al.add("tianjin");
    al.add("shanghai");
    al.add(1, "guangzhou");//在索引为1的位置上加入元素guangzhou
    Show1(al);
    al.set(1, "广州");//把索引为1的位置上元素修改为广州
    System.out.println("*****************");
    Show2(al);
    System.out.println("*****************");
    al.remove(2);//删除索引为2的元素,即tianjin,元素索引从0开始
    Show2(al);
}
/**两种循环*/
//方法一:for循环
public static void Show1(ArrayList<String> al){    
    for(int i=0;i<al.size();i++)
    {
      System.out.println(al.get(i));
    }
}
//方法二:iterator遍历器遍历
public static void Show2(ArrayList<String> al){
  Iterator<String> it=al.iterator();//相当于元素指针
  while(it.hasNext())//判断有没有下一个
  {
    System.out.println(it.next());
  }
 }
}

运行结果如图

技术分享

下篇博文再介绍Map集合。

本文出自 “爪哇岛上学Java” 博客,请务必保留此出处http://zhangyh8856643.blog.51cto.com/8846643/1829364

Java集合框架(一)

标签:java   vector   arraylist   list   set   

原文地址:http://zhangyh8856643.blog.51cto.com/8846643/1829364

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!