9、java类集

类集是java中极其重要的是一个特性

 

常用集合接口

1、  Collection接口,集合接口,用来存储一组对象,基于此接口又扩展了List(允许重复)、Set(不允许重复)等接口

2、  Map接口,键值对接口,用来存储键值对;Map.Entry接口,是Map接口中的内部接口,主要用于集合输出

3、  Iterator(迭代)接口,集合的输出接口,用来输出集合

 

 

基于List接口的集合类

1、  ArrayList(数组列表)

2、  LinkedList(链表列表)

操作如下

import java.util.List;

import java.util.ArrayList;

 

publicclass hello{

    publicstaticvoid main(String args[])throws Exception{

       

        //声明ArrayList对象,注意泛型

        List<String> names =new ArrayList<String>();

       

        //List中添加对象

        names.add("aa");

        names.add("bb");

        names.add("cc");

        //输出对象

        System.out.println(names);

       

        //删除对象

        names.remove("aa");

        System.out.println(names);

       

        //遍历List,并输出对象

        for(int i=0; i<names.size(); i++){

            System.out.println(names.get(i));

        }

       

        //使用for增强遍历list

        for(String s : names){

            System.out.print(s);

        }

    }

}

 

 

基于Set接口的集合类

1、  HashSet(散列存放)

2、  TreeSet(树型存放)

3、  SortedSet(排序集合)

Set集合的操作参考List

 

 

基于Map接口的集合类

1、  HashMap(散列存放)

2、  TreeMap(树型存放,可排序)

3、  SortedMap(排序Map,通过key进行排序)

a)        Map接口使用put新增数据,使用get获取数据

b)        Map的实例实际上是存储在Map.Entry对象中,所以要遍历Map对象需要通过entrySet()方法获取对象集合

import java.util.Map;

import java.util.HashMap;

 

publicclass hello{

    publicstaticvoid main(String args[])throws Exception{

       

        //声明HashMap类,HashTable是老的废弃了

        Map<String, String> names =new HashMap<String, String>();

       

        //Map中新增键值对

        names.put("101","ni");

        names.put("102","hao");

        names.put("103","ma");

        System.out.println(names);

       

        //查找键或值是否存在

        if(names.containsKey("102")){System.out.println("contains key 102");}

        if(names.containsValue("ma")){System.out.println("contains value ma");}

       

        //遍历map集合

        //map中的对象实际存储在Map.Entry对象中

        //通过entrySet可以获取所有的Map.Entry对象

        //map中的对象,通过getKey()/getValue()方法获取键、值

        for(Map.Entry<String, String> item : names.entrySet()){

            System.out.println(item.getKey()+"--->"+ item.getValue());

        }

 

       

        //使用增强for循环遍历key集合,并用get方法输出key对应的value

        //获取key集合或者value集合用keySet()values()方法

        for(String key : names.keySet()){

            System.out.println(key +" : "+ names.get(key));

        }

        for(String val : names.values()){

            System.out.print(val +" ");

        }

    }

}

 

 

4、  Properties类,属性操作类,用于操作属性文件

a)        属性文件是.properties结尾的文件

b)        属性文件的内容为key=value键值对的方式存放

c)        Properties是HashTable的子类,HashTable是过期的类,新的使用HashMap

import java.util.Properties;

import java.io.File;

import java.io.FileOutputStream;

import java.io.FileInputStream;

 

publicclass hello{

    publicstaticvoid main(String args[])throws Exception{

       

        //声明属性对象

        Properties ps =new Properties();

        //向属性对象添加键值对

        ps.put("name","tiny");

        ps.put("age","29");

        ps.put("sex","male");

       

        //声明文件对象

        File f =new File("C:"+ File.separator +"AAA\\person.properties");

        //将属性对象以字节流的方式存储到f文件中

        ps.store(new FileOutputStream(f),"personproperties");

       

        Properties psRead =new Properties();

        //f文件的内容加载到psRead属性对象中

        psRead.load(new FileInputStream(f));

        System.out.println(psRead);

       

        //通过key读取属性值

        System.out.println("name="+ psRead.getProperty("name"));

    }

}

 

 

 

 

你可能感兴趣的:(java基础)