集合Collection

java集合

  • 集合和数组是对多个数据进行存储操作的结构,简称java容器
  • 数组初始化以后,其长度就确定了;数组一旦定义好,其元素的类型也就确定。

Collection接口

  • List接口
    • Vector
    • ArrayList
    • LinkedList
  • Set接口
    • HashSet
      • LinkedHashSet
    • TreeSet
  • Map接口
    • HashMap

List接口

  • 可以重复、有序(元素有存取顺序)
package day06;

import java.util.ArrayList;
import java.util.List;

//测试List
public class demo01 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();

//        list添加元素
        list.add(10);
        list.add(11);
        list.add(9);
        list.add(10);

//        获取list集合中元素个数
        System.out.println(list.size());

        for (Integer integer : list) {
            System.out.println(integer);
        }

//        获取list中指定位置的元素、
        System.out.println("========");
        System.out.println(list.get(0));
        System.out.println(list.get(3));

//        删除指定位置元素
        list.remove(3);
        System.out.println("==========");
        for (Integer integer : list) {
            System.out.println(integer);
        }
        
//        修改指定位置的元素
        list.set(0,99);
        System.out.println("=========");
        for (Integer integer : list) {
            System.out.println(integer);
        }
    }
}

Set接口

  • 不可以重复、无序(元素没有存取顺序)
  • Set集合保证元素唯一性依赖:equals()和hashCode()两个方法
package day06;

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

//测试Set
public class demo02 {
    public static void main(String[] args) {
        Set<String> hashSet = new HashSet<String>();

//        添加元素
        hashSet.add("一");
        hashSet.add("二");
        hashSet.add("三");
        hashSet.add("三");

        for (String s : hashSet) {
            System.out.println(s);
        }

//        删除元素
        hashSet.remove("二");
        System.out.println("=======");
        for (String s : hashSet) {
            System.out.println(s);
        }

//        获取元素个数
        System.out.println("=======");
        System.out.println(hashSet.size());

//        迭代器输出容器中元素
        Iterator<String> it = hashSet.iterator();
        while (it.hasNext()){
            String s = it.next();
            System.out.println(s);
        }
    }
}

Map接口

  • 双列集合,元素由键值对构成
  • Key不可以重复,Value可以重复
  • 重复添加会覆盖旧值
package day06;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

//测试Map
public class demo03 {
    public static void main(String[] args) {
        Map<Integer, String> hashMap = new HashMap<Integer,String>();


//        添加元素
        hashMap.put(1,"小明");
        hashMap.put(2,"小红");
        hashMap.put(3,"小明");
        hashMap.put(3,"大鹏");

//        查询指定位置元素:传入key值即可
        System.out.println(hashMap.get(2));
        System.out.println("=========");

//        遍历map集合中对元素
        Set<Integer> keySet = hashMap.keySet();
        for (Integer integer : keySet) {
            System.out.println(integer + hashMap.get(integer));
        }

//        元素删除
        System.out.println("============");
        hashMap.remove(2);
        Set<Integer> keySet2 = hashMap.keySet();
        for (Integer integer : keySet2) {
            System.out.println(integer + hashMap.get(integer));
        }

//        元素修改
        System.out.println("============");
        hashMap.replace(1,"aaaaa");
        Set<Integer> keySet3 = hashMap.keySet();
        for (Integer integer : keySet3) {
            System.out.println(integer + hashMap.get(integer));
        }
    }
}
posted @ 2021-01-20 16:45  shenpro  阅读(78)  评论(0)    收藏  举报