本文共 2550 字,大约阅读时间需要 8 分钟。
一、集合
Connection(集合)是最基本的集合接口,主要有三种类型:Set(集)、List(列表)、Map(映射)。在这里根据自己的理解主要介绍ArrayList、LinkedList、TreeSet三种。
二、ArrayList
ArrayList实际上就是动态数组,是Array的复杂版本,和vector大致相同,其允许包括null值,区别是此实现是不同步的。
构造方法如下:
() 构造一个初始容量为 10 的空列表。 |
(<? extends> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 |
(int initialCapacity) 构造一个具有指定初始容量的空列表。 |
实力代码如下:
public class DemoArrayList { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList三、LinkedListal = new ArrayList (); al.add("adfr"); al.add("add"); al.add("as"); al.add("s"); System.out.println(al.size());// for(int i=0;i
List 接口的链接列表实现,此实现不同步。实现所有可选的列表操作,并且允许所有元素(包括null)。除了实现List 接口外,LinkedList 类还为在列表的开头及结尾get、remove和insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或者双端队列。
构造方法如下:
() 构造一个空列表。 |
(<? extends> c) 构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。 |
示例代码如下:
public class DemoLinkedList { public static void main(String[] args) { // TODO Auto-generated method stub LinkedList四、TreeSetll = new LinkedList (); ll.add("a"); ll.add("ab"); ll.add("abc"); ll.add("abcd"); ll.addLast("abcde"); ListIterator 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()); }}
此实现不是同步的,基于 TreeMap的NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator
进行排序,具体取决于使用的构造方法。
构造方法:
() 构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。 |
(<? extends> c) 构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。 |
(<? super> comparator) 构造一个新的空 TreeSet,它根据指定比较器进行排序。 |
(<> s) 构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。 |
public class DemotreeSet { public static void main(String[] args) { // TODO Auto-generated method stub TreeSetts =new TreeSet (); 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 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; } }
转载地址:http://owumf.baihongyu.com/