_集合

来源:互联网 发布:大连嘉汇三中升学数据 编辑:程序博客网 时间:2024/05/22 10:36

 


 

/* * Collection * |--List:元素是有序的,元素可以重复,该集合中有索引 *|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。 *|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。 *|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。 * * |--Set:元素是无序的,元素不可用重复 * |-- HashSet:底层数据结构是哈希值。 * HashSet是如何保证元素的唯一性的呢? * 是通过元素的两个方法:hashCode()和 equals()来完成 * 如果元素的HashCode值相同,才会用equals()来判断施是否是同一个对象; * 如果元素的HashCode值不相同,不会调用equals(). * |-- TreeSet:可以对Set集合中的元素进行排序。 * Map *|--Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。 效率低。 *|--HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。将hashtable替代, 效率高。 *|--TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。 * * *  *    【迭代器】:Iterator 接口 *  * Iterator 对象 通过集合的 iterator() 方法获取 * Iterator<String> it = al.iterator(); *  *    【方 法】: * 判断时候还有下一个元素:boolean hasNext(); * 返回迭代的下一个元素:  E next()  *  *  * List: * 特有方法:凡是可以操作角标的方法都是该系特有的方法; *  * 【增】 * add(index.element); * addAll(index,Collection); *  * 【删】 * remove(index); *  * 【改】 * set(index,element) *  * 【查】 * get(index); * subList(from,to); * listIterator(); *  */


 

 

package collection;import java.util.*;public class ListDemo1 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubdemo_1();}public static void demo_1(){ArrayList al = new ArrayList();al.add("java1");al.add("java2");al.add("java3");sop("原集合:"+al);//原集合:[java1, java2, java3] al.add(1, "添加的元素");//在指定索引处 添加元素sop("添加后:"+al);//添加后:[java1, 添加的元素, java2, java3]al.remove(2);//删除指定索引的元素sop("删除后:"+al);al.set(2,"修改的元素");sop("修改后:"+al);sop("通过索引获取一个元素:"+al.get(1));//获取所有for(int x=0;x<al.size();x++){sop("al["+x+"]="+al.get(x));}}public static void sop(Object obj){System.out.println(obj);}}



 

原创粉丝点击