• java之集合类型ArrayList,HashMap,HashSet


    常用数据集合:List,Map,Set 这三种集合都是用来操作数据的,比如数组也是一种集合

    List:ArrayList  ,  ArrayList是list接口的其中一个实现类,调用方法前都要生成一个ArrayList对象,下面两个集合类型也是一样的

    List和Set这两个接口都是继承了collection(集合)接口,collection又继承了Iterable(可迭代)接口,所以List和Set类的对象都能拿到Iterator(迭代器)方法

    List和Set两个类的集合都可以通过增强for循环进行遍历

    ArrayList容器支持的数据类型:引用类型

    容器特点:

    1.数据排列——有序性,支持索引

    2.数据重复性——可重复

    package com.my.packge4;
    
    import java.util.ArrayList;
    
    public class ArrayListDemo {
        public static void main(String[] args) {
    //        ArrayList<Integer> list = new ArrayList<Integer>();//int对应的引用类型是Integer(包装类型)
            ArrayList<String> list = new ArrayList<String>();
            //查看这个list的大小,元素个数
    //        System.out.println(list.size());
            //判空
    //        System.out.println(list.isEmpty());
            list.add("张三");
            list.add("李四");
            list.add("王五");
            //判断是否包含某个值
    //        System.out.println(list.contains("张三"));
            //修改数据,要换的数据的索引,和换后的值
            list.set(0,"哈哈");
            //判空
    //        System.out.println(list.isEmpty());
    //        System.out.println(list.size());
            //通过get方法,传入下标取值
    //        System.out.println(list.get(1));
    //        list.remove("王五");
            //删除list中的数据,可以通过索引或者直接输入需要删除的值
    //        String list_del = list.remove(0);
    //        System.out.println(list_del);
    //        System.out.println(list.size());
    //        ArrayListDemo demo = new ArrayListDemo();
            for (String name:list){
                System.out.println(name);
            }
    
    
        }
    }

    Map:HashMap

     容器特点:

    1.以键值对形式来保存数据

    2.键值不可以重复,重复时,后者键值对覆盖前者

    键和值的数据类型支持:引用类型

    package com.my.packge4;
    
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    //Map以键值对形式保存数据
    public class HashMapDemo {
        public static void main(String[] args) {
            HashMap<String,String> haMap = new HashMap<String,String>();
            System.out.println(haMap.size());
            haMap.put("name","小赵");
            haMap.put("age","18");
            //通过key获取值
            String name = haMap.get("name");
            String age = haMap.get("age");
            System.out.println(name);
            System.out.println(age);
            //通过键移除数据,返回的是移除的数据对象
            haMap.remove("name");
            //获取所有的key,集合是Set是因为键都是唯一的,不能重复的,所以就不是list集合
            Set<String> keys = haMap.keySet();
            //遍历输入所有的key
            for (String key:keys){
                System.out.println(key);
            }
            //获取所有的值
            Collection<String> values = haMap.values();
            //遍历输入所有的value
            for (String value:values){
                System.out.println(value);
            }
            //第二种遍历方法
            //遍历整个键值对
            Set<String> keyss = haMap.keySet();
            for (String key2:keyss){
                String value2 = haMap.get(key2);
                System.out.println("key:"+key2+"value:"+value2);
            }
            //第三种遍历方法
            //Entry代表的也是key,value, Map.Entry<String,String> 作为一个类型
            Set<Map.Entry<String,String>> entries = haMap.entrySet();
            for (Map.Entry<String,String> entri:entries){
                System.out.println("key:"+entri.getKey()+"value:"+entri.getValue());
            }
    
        }
    }

    Set:HashSet

    容器支持的数据类型:引用类型

     容器特点:

    1.数据排列——无序性

    2.数据重复性——不可重复

    8大数据基本类型的包装类型

    package com.my.packge4;
    
    import java.util.HashSet;
    import java.util.Iterator;
    
    public class HashSetDemo {
        public static void main(String[] args) {
            HashSet<String> hset = new HashSet<String>();
            //获取集合的大小
            System.out.println(hset.size());
            //添加数据到集合中,如果数据是重复,会去重
            hset.add("java");
            hset.add("python");
            System.out.println(hset.size());
            //判空
            System.out.println(hset.isEmpty());
            //是否包含
            System.out.println(hset.contains("java"));
            //删除集合中的数据,因为是无序的,所以只能通过数据名删除
            hset.remove("java");
            //要删所有的就用clear
    //        hset.clear();
            hset.add("java");
            hset.add("php");
            //hashset没有提供数组get方法,所以先要把hset转成数组对象,然后再取里面的值
            Object[] objects = hset.toArray();
            //通过增强for循环遍历,不能在遍历时移除或者操作数据
            for (Object ob:objects){
                System.out.println(ob);
            }
            System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            //遍历set集合,需要导入Iterator类
            Iterator<String> ite = hset.iterator();  //获取迭代器
            while (ite.hasNext()){//如果集合中有数据就用hasNext
                System.out.println(ite.next());
            }
    
    
    
        }
    }
  • 相关阅读:
    有理想的程序员必须知道的15件事
    C#是唯一能挑战Java的编程语言?
    ADO.NET Entity Framework 如何:定义具有修改存储过程的模型(实体框架)
    Android sqlite3工具的使用
    SQLite管理工具
    在 Android 应用程序中使用 Internet 数据 解析 XML、JSON 和 protocol buffers 数据
    2011年1月编程排行榜:PHP表现不佳,Python夺冠
    NoSQL开篇——为什么要使用NoSQL
    Windows 7任务栏与站点的集成
    Apache中 RewriteCond 规则参数介绍
  • 原文地址:https://www.cnblogs.com/zhaobobo001/p/14598564.html
Copyright © 2020-2023  润新知