zoukankan      html  css  js  c++  java
  • java复习(7)---集合类、泛型

    本节主要结合用例讲述Java中Map类、Set类、List类如何使用。

    Java中有封装好的集合类,常用的有Map类、Set类、List类,简单说明一下他们的用法。

    List类,常用有ArrayList和LinkedList,前者存可变数组,相当于数据结构中的顺序表;后者采用链表结构存,相当于单链表。

    类方法: add(i)、size()、get(i)、set(i, obj)

    Set类:常用有HashSet和TreeSet,如名,建哈希表/树存储。

    类方法:first()、last()、subSet()、等

    Map接口: 同时存key和value。

    类方法:put(key, value)、get(key)、keySet()、values()等

    补充知识:泛型

    Object前面已经讲过,是所有变量类的父类,可在写方法时定义变量为Object,作为泛型。

    具体使用方法时,用形如: new String(”123“);  代替object。

    集合类和泛型具体测试样例如下,看一看就都懂啦~

    package re07;
    
    import java.util.*;
    
    public class CollectionTest {
    
        private Object b;
    
        public void setB(Object b) {
            this.b = b;
        }
    
        public Object getB() {
            return b;
        }
    
        public static void main(String[] args) {
    
            Collection<String> list1 = new ArrayList<>(); // Collection练习
            list1.add("a");
            list1.add("b");
                System.out.println(list1.size());
    
            List<String> list2 = new ArrayList<>(); // list集合练习
            list2.add("a");
            list2.add("b");
            for (int i = 0; i < list2.size(); i++) {
                System.out.println(list2.get(i));
            }
    
            TreeSet<String> tree = new TreeSet<>(); // set集合练习
            tree.add("a");
            tree.add("b");
            tree = (TreeSet<String>) tree.subSet("a", "b");
            System.out.println(tree.first());
    
            Map<String, String> map = new HashMap<>(); // map集合练习
            map.put("1", "a");
            map.put("2", "b");
            System.out.println(map.values().toString() + map.keySet().toString());
    
            // 泛型使用
            CollectionTest test = new CollectionTest();
            test.setB(new String("泛型")); // 向上转型
            
            System.out.println((String)test.getB()); // 向下转型
        }
    
    }
  • 相关阅读:
    繁忙的都市 最小生成树 入门题
    洛谷P2801 教主的魔法 分块
    洛谷 P3203 [HNOI2010]弹飞绵羊 分块
    洛谷P2607 [ZJOI2008]骑士 基环树动归
    Hdu 2586 树链剖分求LCA
    洛谷 P3384 【模板】树链剖分
    洛谷P1816 忠诚 分块
    最全前端开发面试问题及答案整理
    CSS垂直居中和水平居中
    实现一个图片懒加载插件有多难?
  • 原文地址:https://www.cnblogs.com/weberweber/p/6611494.html
Copyright © 2011-2022 走看看