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数据类型的系统理解,希望有助于大家的认识