Java中List,Set,Map的用法

一.List接口

ArrayList:动态数组,要保存的元素个数不确定,动态变化

LinkedList:链表

二.List中的增,删,改,查

增加

1.add(任意数据类型 新值)【add方法默认在集合末尾添加】

2.add(int index,任意数据类型):在索引为index的位置插入新元素

删除

1.remove(int index):删除指定位置元素

2.remove(元素值):按值删除,默认删除第一个元素

修改

set(int index,新值):修改index位置元素为新元素,返回修改前的元素值

查找

1.get(int index):返回index位置的元素值

2.boolean contains(元素值):判断List中是否包含指定值

代码示例:

import java.util.ArrayList;
import java.util.List;
 
/**
 * @author happy
 */
public class ListTest {
    public static void main(String[] args) {
       int[] data = {1,2,3,4,5,7};
       List<Integer> list = new ArrayList<>();
        for (int i:data) {
            list.add(i);
        }
        System.out.println(list.contains(10));
        System.out.println(list.get(3));
        list.remove(1);
        System.out.println(list);
        int index = list.indexOf(7);
        list.remove(index);
        System.out.println(list);


遍历:

import java.util.ArrayList;
import java.util.List;
 
/**
 * @author happy
 */
public class ListTest {
    public static void main(String[] args) {
       int[] data = {1,2,3,4,5,7};
       List<Integer> list = new ArrayList<>();
        for (int i:data) {
            list.add(i);
        }
        //[1, 2, 3, 4, 5, 7]打印这个数组
        System.out.println(list);
        for (int temp:list) {
            //1 2 3 4 5 7 分开打印每个元素
            System.out.print(temp+" ");
        }
    }
}

三.Set接口

1.概念:

1.一次存储一个不重复元素:方便进行元素去重处理

2..Set接口,元素的添加顺序和插入顺序没有太大关系(HashSet类)

扫描二维码关注公众号,回复: 15497922 查看本文章

3.Set是List接口的子接口,只是元素插入有了不重复的限制,其他用法和List差不多【看见Set和Map天然就是一个查找或者搜索的语义】

代码示例:

import java.util.HashSet;
import java.util.Set;
 
/**
 * @author happy
 */
public class SetTest {
    public static void main(String[] args) {
        String[] str = {"孙悟空","猪八戒","C"};
        Set<String> set = new HashSet<>();
        for (String s:str) {
            set.add(s);
        }
        //[C, 孙悟空, 猪八戒]
        System.out.println(set);
    }
}

四.Map接口

1.概念:

Map接口:Map接口是一个映射的关系,一次存储两个元素 key = val(键值对应元素),key不重复,val可能重复,通过key值查找元素

2.Map中的添加修改,查找,删除

1.put(key,val):将key和对应的val存储到Map中,如果key值存在,就修改val,如果key不存在,就添加val

import java.util.HashMap;
import java.util.Map;
 
/**
 * @author happy
 */
public class MapTest {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"小张");
        map.put(2,"小明");
        map.put(3,"小王");
        map.put(1,"小花");
 
        //{1=小花, 2=小明, 3=小王}
        System.out.println(map);
    }
}

2.查找

1.存在返回null(v value=map.get(key))

 
        String ret = map.get(1);

        System.out.println(ret);

2.如果不存在,返回默认值(V value=map.getOrDefault(key,defaultValue))

       map.getOrDefault(2,"空");

3.删除

map.remove(key):删除整个键值对,返回删除前的key对应的value,不存在返回null

map.remove(1);
System.out.println(map);

五.Map集合的遍历

代码示例:

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
/**
 * @author happy
 */
public class MapTest {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"小张");
        map.put(2,"小明");
        map.put(3,"小王");
        map.put(1,"小花");
        Set<Map.Entry<Integer,String>> entry = map.entrySet();
        for (Map.Entry<Integer,String> temp:entry) {
            System.out.println(temp.getKey() +"="+ temp.getValue());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/AMYCX/article/details/128145086