java集合数据的解析

java数据类型包括基本数据类型,引用数据类型和集合数据类型,那么他们各自都有什么作用,即为什么要用这么多数据类型?

对于数据的使用,其实,1.申明 2.初始化(静态初始化和动态初始化(即创建实例的过程))3.就是如何利用定义的数据(存取等操作)

基本数据类型,是针对单个数据类型的定义,比如,Int a=2;说明a是一个整型的数据,这单单只是一个数据。

那么如果要同时定义多个具有相同类型的数据呢?这里引出了数组int[] a={1,2,3,4,4};,而数组唯一的标识就是下标,而且最重要得一点是,它只可能存储基本类型的多个数据,对于String 等这些对象,它是不能去定义的。

那么如果要去定义多个相同的对象,这要怎么定义,这里就引出了集合类型:

集合类型有collection接口,Iterrator接口和Map接口三个集合数据类型:

一、collection接口有子接口List,set,和queue等,主要的是List,Set.

List接口她也有子接口ArrayList和Vector(特点是内容可以重复,这里要充分了解java的动态性,即声明的时候可以用collection<String> s;或者List<String> s;,但是,实例化的时候必须用实现了的子接口ArrayList和Vector中的一个,即s= new ArrayList<String>();

那么如何添加数据呢,这是利用函数add进行添加,输出可以直接用s.get()得到数据再输出,或者利用下面讲到的Iterator接口。

set接口有HashSet和TreeSet接口两种(特点是不能加入重复元素但可以排序),具体的申明和初始化和上面list相同这里就不讲了。

二、Iterator接口它是一个集合输出接口,即上面集合元素的输出可以用到这个接口,这个接口的定义和申明同上面的collection接口是一样的,但关键是他们是怎么联系起来的呢?如下面的代码,所表示的:

public class SetDemo01 {

	public static void main(String[] args) {

		Set<String> s=null;
		s=new HashSet<String>();
		s.add("b");
		s.add("d");
		s.add("f");
		s.add("e");
		s.add("a");
		System.out.println(s);
		Iterator<String> iter=s.iterator();
		while(iter.hasNext()){//这里hasnext函数是用来查询集合里是否还有元素
			String str = iter.next();//next函数是用来获取集合里的元素
			System.out.println(str);
		}

	}

Iterator<String> iter = s.iterator()利用这句代码便可以将它们与输出集合联系起来。这里就有一个问题collection集合明明可以自己输出,为什么要间接利用Iterator接口来输出呢?我的理解是一方面是因为Iterator接口提供了hasnext函数和next函数,对于数据的读取特别容易;另一方面是因为他可以适用于collection接口中的所有子接口,上述是我的理解。

三、map接口

map接口与上面两个的不同,是它是唯一的一利用键-值映射创建数据类型即它存储的是一对数据。

它包括hashmap和Hashtable两个子接口,那么它是怎么定义的呢?如下,

public class SetDemo01 {

	public static void main(String[] args) {

		/*
		 *申明map
		 */
		Map<String,String>	map= new HashMap<String,String>();
		/*
		 * 添加键-值
		 */
		map.put("key1", "my");
		map.put("key2", "name");
		map.put("key3", "marr");
		/*
		 * 如何获取键
		 */
		Set<String> s=map.keySet();
		Iterator<String> iter=s.iterator();
		while(iter.hasNext()){
			String str=iter.next();
			System.out.println(str);
		}
		/*
		 * 同样如何获取值
		 */
		Collection<String> a=map.values();
		Iterator<String> iter1=a.iterator();
		while(iter1.hasNext()){
			String str=iter1.next();
			System.out.println(str);
		}

	}

上述是我对java数据类型的系统理解,希望有助于大家的认识

时间: 2024-10-25 06:56:06

java集合数据的解析的相关文章

Java - 集合框架完全解析

来自:http://www.jianshu.com/p/63e76826e852 数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵活熟练地使用这些集合框架,可以很明显地提高我们的开发效率,当然仅仅会用还是不够的,理解其中的设计思想与原理才能更好地提高我们的开发水平.下面是自己对Java集合框架方面的学习总结. 一.概述 二.Collection接

Java集合之List---ArrayList解析

本章节主要讲述ArrayList集合知识,主要包括ArrayList结构类型,集合特点,源码解析等. 欢迎持续关注阅读,一起学习,共同交流(477819525君羊). 1 ArrayList类层次结构: 2 ArrayList特性: a) ArrayList是基于数组实现的,是一个动态数组,可以动态的增加和减少元素,灵活的设置数组大小. b) ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数

Java集合--TreeSet详细解析

目录 1.构造函数 2.增 3.删 4.比较器 总结 谈到TreeSet的特点,估计大家脑海里想到的都是:有序,不可重复,红黑树,基于Treemap实现,自定义排序等特点.这篇博客帮助大家从源码梳理下TreeSet的知识点. 1.构造函数 TreeSet提供了四种构造器 TreeSet() TreeSet(Collection< ? extends E> c) TreeSet(Comparator< ? super E> comparator) TreeSet(SortedSet&

java集合 源码解析 学习手册

学习路线: http://www.cnblogs.com/skywang12345/ 总结 1 总体框架 2 Collection架构 3 ArrayList详细介绍(源码解析)和使用示例 4 fail-fast总结(通过ArrayList来说明fail-fast的原理.解决办法) 5 LinkedList详细介绍(源码解析)和使用示例 6 Vector详细介绍(源码解析)和使用示例 7 Stack详细介绍(源码解析)和使用示例 8 List总结(LinkedList, ArrayList等使用

Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解ArrayList.先对ArrayLis

Java集合干货系列-(一)ArrayList源码解析

前言 今天来介绍下ArrayList,在集合框架整体框架一章中,我们介绍了List接口,ArrayList继承了AbstractList,实现了List.ArrayList在工作中经常用到,所以要弄懂这个类是极其重要的.构造图如下:蓝色线条:继承绿色线条:接口实现 正文 ArrayList简介 ArrayList定义 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomA

【转】Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第4部分 Hashtable遍历方式第5部分 Hashtable示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3310887.h

Java集合---Array类源码解析

Java集合---Array类源码解析              ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型:采用改进的归并排序. 1.对于基本类型源码分析如下(以int[]为例): Java对Primitive(int,float等原型数据)数组采用快速排序,对Object对象数组采用归并排序.对这一区别,sun在

java集合框架之java HashMap代码解析

 java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/article/java-hashmap-java-collection.html 签名(signature) public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Se