• java集合的简单使用


    /*

    list接口
          ArrayList 采用异步处理方式,性能高,但属于非线程安全
          Vector    采用同步处理方式,性能低,但属于线程安全
          当程序考虑线程安全的时候选Vector,其他选择ArrayList,速度快,性能高

    set接口不能加入重复元素,(记忆:s开头same反而不同),但是可以排序
       set接口的常用子类
            散列存放:HashSet(哈希的话没有排序)
            有序存放:TreeSet(有序的)

    Iterator接口
      集合输出的标准操作,使用Iterator接口
    操作原理:迭达输出就是将元素一个个进行判断是否有内容,如果有内容就把内容取出

    Map接口
    key--->value的方式保存
    常用子类
       HashMap:无序存放,key不允许重复
       Hashtable:无序存放,key不允许重复 

     

    public static void main(String[] args) { //list添加的数据可以重复,非线程安全,速度快 List<String> list=null; List<String> list1=null; list=new ArrayList<>(); list.add("A"); list.add("A"); list.add("B"); System.out.println(list);//[A, A, B] for (int i = 0; i <list.size(); i++) { System.out.println(list.get(i)); //A //A //B } System.out.println("移除了第一个元素之后为"); list.remove(0); for (int i = 0; i <list.size(); i++) { System.out.println(list.get(i)); //此时打印 A B } System.out.println("元素是否为空"+list.isEmpty());//false System.out.println(list.indexOf("A")); //此时A的下标为0 System.out.println("----------------------------"); list1=new Vector<>();//线程安全,但速度慢 list1.add("a"); list1.add("b"); list1.add("c"); for (int i = 0; i <list1.size(); i++) { System.out.println(list1.get(i)); //此时打印 a b c } System.out.println("----------------------------"); Set<String> set=new HashSet<>(); set.add("A"); set.add("B"); set.add("C"); set.add("D"); set.add("E"); System.out.println(set);//[D, E, A, B, C]没有顺序 set=new TreeSet<>(); set.add("a"); set.add("b"); set.add("c"); set.add("d"); set.add("e"); System.out.println(set);//[a, b, c, d, e]有顺序 System.out.println("----------------------------"); List<String>list3=new ArrayList<>(); list3.add("xiaoli"); list3.add("koky"); list3.add("lucy"); list3.add("jack"); //System.out.println(list3); Iterator<String> iterator=list3.iterator(); while (iterator.hasNext()) { String str=iterator.next(); if ("lucy".equals(str)) { //list3.remove(2);//error 迭代输出时候不能list删除元素 iterator.remove();//迭代的删除 } else { //System.out.println(iterator.next()); System.out.println(str); } } System.out.println("---------------------"); Map<String, String>map=new HashMap<>(); map.put("name", "jack"); //map的话添加通过put,不是list,set的add map.put("address", "beijing"); map.put("phone", "123456"); String key=map.get("name");//通过取key System.out.println(key); //输出value //怎么样判断key或者value是否存在? if (map.containsKey("address")) { System.out.println("key存在"); } else { System.out.println("key不存在"); } if (map.containsValue("beijing1")) { System.out.println("value存在"); } else { System.out.println("value不存在"); } //怎么取出全部的key和value呢? Set<String>s=map.keySet(); Iterator<String> i=s.iterator(); while (i.hasNext()) { System.out.println(i.next()); //打印全部的key,因为是set,没有顺序 } Collection<String>c=map.values(); Iterator<String> i1=c.iterator(); while (i1.hasNext()) { System.out.println(i1.next()); //打印全部的value } } }
  • 相关阅读:
    外媒评Mate 10 Pro:智慧拍照惊人,续航能力卓越
    pv(PageView)的解释
    pv(PageView)的解释
    pv(PageView)的解释
    pv(PageView)的解释
    对包含HttpContext.Current.Cache的代码进行单元测试
    读取excel模板填充数据 并合并相同文本单元格
    css
    Aragon:以太坊上的去中心化自治组织管理应用
    Futarchy: 对价值投票,对赌信念
  • 原文地址:https://www.cnblogs.com/linhong/p/4226385.html
Copyright © 2020-2023  润新知