集合set、map、list

一、set 无序、可重复

public static  void main(String[] args){
       Set<String> set=new HashSet<String>();
        String s1=new String("hello");
        String s2=s1;
        String s3=new String("world");
        String s5=new String("world");
        //Set集合中add方法自动去重
        set.add(s1);
        set.add(s2);
        set.add(s3);
        set.add(s5);
        //输出set数组
        System.out.println(set);
        //第1种 for循环遍历
        for(String str:set){
          System.out.println("for循环遍历:"+str);
        }
        //第2中 Iterator迭代遍历 hasNext()检查序列中是否还有元素 ,next()获得序列中的下一个元素
        for(Iterator iterator=set.iterator();iterator.hasNext();){
            String str=(String)iterator.next();
            System.out.println("Iterator迭代遍历:"+str);
        }
        
        //第3种方法 通过split分离然后输出
        String[] s4=set.toString().split(",");
        for(int i=0;i<s4.length;i++){
            System.out.print("split输出结果:"+s4[i].replace("[", "").replace("]", ""));
        }
   }

运行结果:
[hello, world]
for循环遍历:hello
for循环遍历:world
Iterator迭代遍历:hello
Iterator迭代遍历:world
split输出结果:hellosplit输出结果: world

二、list 有序、可重复

package com.liuqi.ceshi;

import java.util.ArrayList;
import java.util.List;

public class ListTest {

    public static void main(String[] args) {
        //list 有序 可重复
        List<String> person=new ArrayList();
        //add添加方法
        person.add("zhangsan");
        person.add("lisi");
        person.add("lisi");
        person.add("wangwu");
        person.add("zhaoliu");
        person.add("zhangsan");
        System.out.println("输出集合中元素"+person);
        //remove删除元素
        person.remove(0);
        System.out.println("remove删除元素"+person);
        //通过下标获取具体值
        String index0= person.get(0);
        System.out.println("通过下标获取具体值:"+index0);
        //for循环遍历
        for(String str:person){
            System.out.println(str);
        }
        //contains查看某个元素是否在此集合中
        String personname="zhangsan";
        if(person.contains(personname)){
            System.out.println("zhangsan在list列表中");
        }
        //.set(index, element)
        person.set(0, "liuqi");
        System.out.println("将第一个下标值对应值改为liuqi:"+person);
        //通过元素找下标
        System.out.println(person.indexOf("liuqi"));
        System.out.println(person.lastIndexOf("zhangsan"));
        
        List<String> animal=new ArrayList();
         animal.add("dog");
         // 比较两个对象是否相等用equals,比较hashcode用==
         if(person.equals(animal)){
             System.out.println("相同");
         }else{
             System.out.println("不相同");
         }
         //判断list是否为空
         if(person.isEmpty()){
             System.out.println("为空");
         }else{
             System.out.println("不为空");
         }
         //将集合转化为字符串
         System.out.println("将集合转化为字符串"+person.toString());
         //将集合转化为数组
         System.out.println("将集合转化为数组"+person.toArray());
        //去重复
         for (int i = 0; i <person.size()-1; i++) {
             for (int j = person.size()-1; j >i; j--) {
                 if (person.get(j).equals(person.get(i))) {
                     person.remove(j);
                 }
             }
         }
         System.out.println("元素去重"+person);
         
    }

    

}

运行结果:
输出集合中元素[zhangsan, lisi, lisi, wangwu, zhaoliu, zhangsan]
remove删除元素[lisi, lisi, wangwu, zhaoliu, zhangsan]
通过下标获取具体值:lisi
lisi
lisi
wangwu
zhaoliu
zhangsan
zhangsan在list列表中
将第一个下标值对应值改为liuqi:[liuqi, lisi, wangwu, zhaoliu, zhangsan]
0
4
不相同
不为空
将集合转化为字符串[liuqi, lisi, wangwu, zhaoliu, zhangsan]
将集合转化为数组[Ljava.lang.Object;@6b38dba
元素去重[liuqi, lisi, wangwu, zhaoliu, zhangsan]

 三、map 映射key-value

package com.liuqi.ceshi;

import java.util.HashMap;
import java.util.Map;

public class MapTest {

    public static void main(String[] args) {
        Map<String,String> map=new HashMap<String,String>();
        map.put("1", "zhangsan");
        map.put("2", "zhangsan");
        map.put("3", "lisi");
        //Map.values()遍历所有values
        for(String values:map.values()){
            System.out.println(values);
        }
        //Map.entrySet遍历key和value
         for (Map.Entry<String, String> entry : map.entrySet()){
             System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); 
         }
        
    }

}

运行结果:
lisi
zhangsan
zhangsan
key= 3 and value= lisi
key= 2 and value= zhangsan
key= 1 and value= zhangsan

 

posted @ 2017-05-03 17:02  liuqiceshi  阅读(73)  评论(0编辑  收藏