1.8 Java容器(ArrayList,HashSet HashMap)

package com.javadatabase.collections;
import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
       // 数组:定长,数组内容不能直接删除
        // 容器:存储数据的对象
        // ArrayList 是超级数组:ctrl + shift + o
        ArrayList list = new ArrayList();
        System.out.println("=================== ArrayList对象常用方法===============");
        System.out.println("=========== 1. add: 追加元素 ==========");
        list.add("a"); //[a]
        list.add(1);   // [a,1]
        list.add(true);  // [a,1,true]
//        System.out.println(list.toString());
        System.out.println(list); // 不会打印地址值,重写toString,println()会自动调用toString
        // 黄色波浪线,集合会规定数据类型
        // 泛型:规定数据类型<引用数据类型>,这样的话,每一个元素都必须是字符串类型
        ArrayList <String> list1 = new ArrayList<>();
        list1.add("Hello");
        list1.add("World");
        System.out.println(list1);
    }
}

package com.javadatabase.collections;
import java.util.ArrayList;

public class ArrayListAPI {
    //ArrayList 容器常用方法
    public static void main(String[] args) {
      ArrayList <String> list = new ArrayList<>();
      // 1. 判断列表是否为空: isEmpty
      System.out.println(list.isEmpty());
      // 2. 添加(追加)元素:add
      list.add("Hello");
      // 在指定位置插入元素
      list.add(1,"World!");
      list.add(1,"  ");
      list.add(1,"Hello");
      // 3. 移除元素: remove(索引)-- 移除指定位置元素
      list.remove(1); // 移除指定位置内容
//      list.remove("Hello"); // 移除指定对象的内容(有几个删几个)
//      System.out.println(list);
      //  4. size (长度)& get(获取元素)
//        for (int i = 0; i < list.size(); i++) {
//            System.out.println(list.get(i));
//        }
       // 遍历集合 2
//        for (String element:list) {
//            System.out.println(element);
//        }
        // 5. contains: 判断集合中是否有这个元素
//        System.out.println(list.contains("Hello"));
        // 6. set : 修改值
        list.set(1,"被修改");
        System.out.println(list);
    }
}

package com.javadatabase.collections;

import java.util.HashSet;
import java.util.Set;

public class HashSetDemoApi {
    public static void main(String[] args) {
        // List: 有序,可通过索引访问元素
        // Set: 无序(存储的顺序不是按方法的调用,有自己的排序算法),没索引,不能重复
//        HashSet<String> set = new HashSet<>();
//        set.add("Hello");
//        set.add(" World");
//        set.add("!");
//        System.out.println(set);
        // 多态
        Set<String> set1 = new HashSet<>();
        set1.add("Hello");
        set1.add(" World");
        set1.add("!");
        // HashSet常用方法
        // 1. 添加元素,add
        // 2. 获取长度
        int size = set1.size();
        // 3. 删除元素-- 通过元素内容(或者说是对象去删除)---不存在的话,也不会报错
        set1.remove("!");
        System.out.println(set1);
        set1.remove("haha");
        // 4. 判断集合是否为空: isEmpty
        System.out.println(set1.isEmpty());
        // 5. 判断集合是否包含某元素: contains
        System.out.println(set1.contains("Hello"));
        // 6 将集合转化为对应数据类型的数组
        Object[] array = set1.toArray();
        System.out.println(array.toString());
        // 7. 清除集合内容 clear
        set1.clear();
    }
}

package com.javadatabase.collections;

import java.util.HashMap;

public class HashMapDemoApi {
    //HashMap
    public static void main(String[] args) {
        // HashMap<键的泛型,值得泛型>
        HashMap<Integer,String> map = new HashMap<>();
        // 1. put : 添加元素
        map.put(1,"Lujier001");
        map.put(2,"Lujier002");
        map.put(3,"Lujier003");
        map.put(3,"Lujier004");
        System.out.println(map);
        // 2. 获取元素:get(key),不存在也不会报错,默认返回:null
        System.out.println(map.get(4));
        // 3. 长度:size()
        System.out.println(map.size());
        // 4. 判断是否空:isEmpty()
        System.out.println(map.isEmpty());
        // 5. 获取所有得键:keySet()
        System.out.println(map.keySet());
        // 6. 获取所有得值:values()
        System.out.println(map.values());
        // 7. 移除元素:remove(key)
        map.remove(2);
        // 8. 是否包含某个key:containsKey(key),boolean
        System.out.println(map.containsKey(1));
        // 9. 是否包含某个value:containsValue(value)  boolean
        System.out.println(map.containsValue("Lujier009"));

    }
}
public class HashMapDemoApi {
    public static void main(String[] args) {
            // HashMap遍历
            HashMap<Integer, String> map = new HashMap<>();
            map.put(1, "Lujier001");
            map.put(2, "Lujier002");
            map.put(3, "Lujier003");
            map.put(3, "Lujier004");
            // 1. for 循环遍历: 获取所有键,通过键get到value值
            for(Integer num:map.keySet()) {
                System.out.printf("%d:%s\n", num, map.get(num));
            }
            // 等效于上边两行内容
            Set<Integer> keys = map.keySet();
            for(Integer num:keys) {
                System.out.printf("%d:%s\n", num, map.get(num));
            }
            System.out.println("=============================================");
            // 2. 直接取除所有键值对,Map.Entry内部存的就是一对对得键值对
            Set<Map.Entry<Integer,String>> entry = map.entrySet();
            for (Map.Entry<Integer,String> entry1:entry){
                System.out.printf("%d = %s\n",entry1.getKey(),entry1.getValue());
            }
    
            // 3. 通过迭代器遍历
            Set<Integer> keys1 = map.keySet();
            Iterator<Integer> it = keys1.iterator();
            while ( it.hasNext()){
                Integer key = it.next();
                String value = map.get(key);
                System.out.printf("%d = %s\n",key,value);
            }
            // 或者
            Set<Map.Entry<Integer,String>> entry2 = map.entrySet();
            Iterator<Map.Entry<Integer,String>> it1 = entry2.iterator();
            while ( it1.hasNext()){
                Map.Entry<Integer,String> entry3 = it1.next();
                System.out.printf("%d = %s\n",entry3.getKey(),entry3.getValue());
            }
    
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值