美文网首页
12.集合类

12.集合类

作者: Java架构师之路 | 来源:发表于2019-08-19 23:52 被阅读0次

public class CollectionTest {

    /*
    List接口和Set接口是Collection的子接口
    List接口的实现类有ArrayList和LinkedList
    Set接口的实现类有HashSet和TreeSet
    Map键值对的主要实现有HashMap TreeMap
    * */

    /*1.Collection接口主要包括如下方法
    *  add添加 remove删除 iterator遍历 size查看个数 isEmpty是否为空
    * */

    @Test
    public void testCollection(){
        Collection<String> collection = new ArrayList<String>();
        for(String str:new String[]{"Hello","World"}){
            collection.add(str);
        }
        collection.remove(1);
        if(!collection.isEmpty()){
            System.out.println(collection.size());
        }
        Iterator<String> iterator = collection.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }
    /*
    * 2.List的实现类如下 主要方法 get/set
    * ArrayList可变数组 基于索引适合随机访问 插入删除较慢
    * LinkedList链表 适合快速插入和删除 随机访问较慢
    * */
    @Test
    public void testList(){
        /*最为常用*/
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        int random = (int)(Math.random()*list.size());
        list.remove(random);
        for (int i = 0; i <list.size() ; i++) {
            System.out.println(list.get(i));
            if("a".equals(list.get(i))){
                list.set(i,"aa");
            }
        }
    }

    /*
    * 3.Set接口实现类 不可以重复主要用来过滤 first() last()
    * HashSet 根据hash表来实现 随机存放
    * TreeSet 实现了Set接口和SortedSet接口 遍历时候递增排序
    * */
    @Test
    public void testSet(){
        TreeSet<String> treeSet = new TreeSet<>();
        for (int i = 0; i <5 ; i++) {
            treeSet.add(i+"");
        }
        Iterator<String> iterator = treeSet.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }

    /*
    * 3.Map 键值对
    * HashMap 添加删除的效率更好 基于hash表实现 随机存放 允许key,vlaue为null
    * TreeMap 实现了Map和SortedMap接口 保证顺序
    * */
    @Test
    public void testMap(){
        Map<Integer,String> map= new HashMap<>();
        map.put(1,"1");
        map.put(2,"2");
        map.put(3,"3");
        /*遍历key*/
        Set<Integer> keySet = map.keySet();
        Iterator<Integer> keyIt = keySet.iterator();
        while (keyIt.hasNext()){
            System.out.println(keyIt.next());
        }
        /*遍历value*/
        for(String value : map.values()){
            System.out.println(value);
        }
        /*同时遍历key value*/
        for(Map.Entry<Integer, String> entry : map.entrySet()){
            Integer mapKey = entry.getKey();
            String mapValue = entry.getValue();
            System.out.println(mapKey+":"+mapValue);
        }
    }

    @Test
    public void testInfo(){
        int[] array = new int[200];
        for (int i = 0; i <150 ; i++) {
            int random = new Random().nextInt(100);
            array[i]=random;
        }
        Arrays.sort(array);
        System.out.println(Arrays.toString(array));
        Set<Integer> set = new HashSet<Integer>();
        for (int x:array) {
            set.add(x);
        }
        System.out.println(Arrays.toString(set.toArray()));
    }

}



相关文章

  • 12.集合类

  • Java集合

    集合概述 •Java提供集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于jav...

  • 14. 集合类

    1. Kotlin的集合类 Kotlin的集合类分为可变集合类和不可变集合类 2. 常用的三种集合类 主要有三种:...

  • Java 容器 - 一文详解HashMap

    Map 类集合 Java Map类集合,与Collections类集合存在很大不同。它是与Collection 类...

  • Collection 集合类

    Collection 集合类 java.util包中提供了一些集合类,这些集合类又称为容器;集合类和数组的区别在于...

  • Java集合类-集合类图谱

    数据结构在计算机知识体系中的重要性无需赘言,Java的jdk的集合类正是学习数据结构的很好素材。如果能把jdk的集...

  • 第10章 集合类与泛型 《Kotin 编程思想·实战》

    第10章 集合类与泛型 10.1 Kotlin集合类10.1.1 不可变集合类10.1.1.1 List10.1....

  • 那些年我们追过的Java面试之集合类、异常处理

    标签:Java面试、集合类、异常处理 2017/05/09 09:36 三.Java集合类 10.Java集合类框...

  • 函数的定义和调用

    3.1 创建集合 kotlin没有采用自己的集合类,而是采用的标准的java集合类。在java集合类的基础上新增了...

  • Java集合类总结

    Java集合类 1.简介: java集合类包含在java.util包下集合类存放的是对象的引用,而非对象本身。集合...

网友评论

      本文标题:12.集合类

      本文链接:https://www.haomeiwen.com/subject/zyhksctx.html