您的位置:首页 > 编程语言 > Java开发

Java集合简介

2015-09-11 11:16 639 查看
一、集合

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: