标签:java vector arraylist list set
集合:用来存放多种元素的一种类型。
框架:是一种结构体系,有多个类构成。
下面介绍两种常用的集合,即Collection集合和Map集合。
Collection集合
Collection(接口) | ||||
List(子接口) | Set(子接口) | |||
ArrayList、LinkedList、Verctor | HashSet、TreeSet |
如上表所示,Collection是个单列集合,一个接口,下面主要有List和Set两个子接口,List子接口下面又包含ArrayList、LinkedList和Vector具体实现类;Set子接口下面主要有HashSet和TreeSet具体实现类。
说明:
List接口是有索引,而Set接口无索引;
HashSet里面元素是有序的,TreeSet里面元素是无序的;
ArrayList:动态数组,表示数组长度可变;
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 vector arraylist list set
原文地址:http://zhangyh8856643.blog.51cto.com/8846643/1829364