Java集合简介
2015-09-11 11:16
639 查看
一、集合
Connection(集合)是最基本的集合接口,主要有三种类型:Set(集)、List(列表)、Map(映射)。在这里根据自己的理解主要介绍ArrayList、LinkedList、TreeSet三种。
二、ArrayList
ArrayList实际上就是动态数组,是Array的复杂版本,和vector大致相同,其允许包括null值,区别是此实现是不同步的。
构造方法如下:
实力代码如下:
List 接口的链接列表实现,此实现不同步。实现所有可选的列表操作,并且允许所有元素(包括null)。除了实现List
接口外,LinkedList 类还为在列表的开头及结尾get、remove和insert
元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或者双端队列。
构造方法如下:
示例代码如下:
此实现不是同步的,基于
TreeMap的NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的
构造方法:
示例代码如下:
Connection(集合)是最基本的集合接口,主要有三种类型:Set(集)、List(列表)、Map(映射)。在这里根据自己的理解主要介绍ArrayList、LinkedList、TreeSet三种。
二、ArrayList
ArrayList实际上就是动态数组,是Array的复杂版本,和vector大致相同,其允许包括null值,区别是此实现是不同步的。
构造方法如下:
ArrayList() 构造一个初始容量为 10 的空列表。 |
ArrayList(Collection<? extendsE> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 |
ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表。 |
public class DemoArrayList { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList<String> al = new ArrayList<String>(); al.add("adfr"); al.add("add"); al.add("as"); al.add("s"); System.out.println(al.size()); // for(int i=0;i<al.size();i++){ // System.out.println(al.get(i)); // } } }三、LinkedList
List 接口的链接列表实现,此实现不同步。实现所有可选的列表操作,并且允许所有元素(包括null)。除了实现List
接口外,LinkedList 类还为在列表的开头及结尾get、remove和insert
元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或者双端队列。
构造方法如下:
LinkedList() 构造一个空列表。 |
LinkedList(Collection<? extendsE> c) 构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。 |
public class DemoLinkedList { public static void main(String[] args) { // TODO Auto-generated method stub LinkedList<String>ll = new LinkedList<String>(); ll.add("a"); ll.a 4000 dd("ab"); ll.add("abc"); ll.add("abcd"); ll.addLast("abcde"); ListIterator<String >li = ll.listIterator(); while(li.hasNext()){ System.out.println(li.next()); System.out.println(li.nextIndex()); } // while(li.hasPrevious()){ // System.out.println(li.previous()); // } // System.out.println(ll.getLast()); } }四、TreeSet
此实现不是同步的,基于
TreeMap的NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的
Comparator进行排序,具体取决于使用的构造方法。
构造方法:
TreeSet() 构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。 |
TreeSet(Collection<? extendsE> c) 构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。 |
TreeSet(Comparator<? superE> comparator) 构造一个新的空 TreeSet,它根据指定比较器进行排序。 |
TreeSet(SortedSet<E> s) 构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。 |
public class DemotreeSet { public static void main(String[] args) { // TODO Auto-generated method stub TreeSet<String> ts =new TreeSet<String>(); ts.add(new Student().setNaSe("Wangli", "W")); ts.add(new Student().setNaSe("ZhangShan", "M")); ts.add(new Student().setNaSe("LiLi", "W")); ts.add(new Student().setNaSe("XuXian", "M")); Iterator<String> it = ts.iterator(); while(it.hasNext()){ String st =it.next(); System.out.println(st+".........."+st.length()); } } } class Student{ @SuppressWarnings("unused") private String name; @SuppressWarnings("unused") private String sex; // Student(String name, String sex) { // // TODO Auto-generated constructor stub // this.name = name; // this.sex = sex; // } public String setNaSe(String name,String sex){ this.sex = sex; this.name = name; return name+sex; } }
相关文章推荐
- 对java中json格式变量数据的一些理解
- LeetCode 274/275 H-Index Java
- 25个Java机器学习的工具与库(英)
- java并发基础
- myeclipse的一些优化设置
- java.lang.String中的trim()方法的详细说明
- java中HashMap详解
- JAVA 使用iText导出PDF(含有Table)示例
- Java中使用JAR文件
- JAVA得到当前系统时间
- getResourceAsStream用法
- spring对session和事务的管理以及OpenSessionInViewFilter是如何工作的
- Eclipse在搜索的时候,遇到Resource is out of sync with the file system的问题
- java实体转map工具类
- javabean实体类对象转为Map类型对象的方法
- java框架spring中的opensessioninview有什么作用
- java调用webservices
- [转] 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
- 【转】Java开源项目源码阅读方法及二次开发方法
- SpringMVC深度探险(一) —— SpringMVC前传