博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java集合简介
阅读量:2067 次
发布时间:2019-04-29

本文共 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
al = new ArrayList
(); al.add("adfr"); al.add("add"); al.add("as"); al.add("s"); System.out.println(al.size());// for(int i=0;i
三、LinkedList

List 接口的链接列表实现,此实现不同步。实现所有可选的列表操作,并且允许所有元素(包括null)。除了实现List 接口外,LinkedList 类还为在列表的开头及结尾getremoveinsert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或者双端队列。

构造方法如下:

()
          构造一个空列表。
(<? extends> c)
          构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。

示例代码如下:

public class DemoLinkedList {	public static void main(String[] args) {		// TODO Auto-generated method stub		LinkedList
ll = 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()); }}
四、TreeSet

此实现不是同步的,基于 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		TreeSet
ts =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/

你可能感兴趣的文章
Redis在京东到家的订单中的使用
查看>>
idea 注释模板设置
查看>>
单例模式singleton为什么要加volatile
查看>>
Oracle_spatial的空间操作符
查看>>
SDO_GEOMETRY结构说明
查看>>
oracle 的 SDO_GEOMETRY
查看>>
往oracle中插入geometry的两种方式
查看>>
Oracle Spatial中的Operator操作子 详细说明
查看>>
Oracle Spatial中SDO_Geometry详细说明
查看>>
oracle 聚合函数 LISTAGG ,将多行结果合并成一行
查看>>
Oracle列转行函数 Listagg() 语法详解及应用实例
查看>>
LISTAGG函数的用法
查看>>
Oracle Spatial操作geometry方法
查看>>
IDEA类和方法注释模板设置(非常详细)
查看>>
Java程序初始化的顺序
查看>>
Dubbo和Spring结合配置文件内容解析为bean的过程
查看>>
fastJson注解@JSONField使用的一个实例
查看>>
fastjson的@JSONField注解的一点问题
查看>>
fastjson使用(三) -- 序列化
查看>>
浅谈使用单元素的枚举类型实现单例模式
查看>>