Java基础——List、Set、Map的简单操作与遍历

简介: Java基础——List、Set、Map的简单操作与遍历

第一种:List 【三种迭代方式】

public class ListTest {
    ArrayList<String > list1=new ArrayList<String>();
    public ArrayList<String> addMethod(){
        for (int i = 0; i < 9; i++) {
            list1.add(i+"");
        }
        return list1;
    }
    public ArrayList<String> deleteMethod(){
        list1.remove("5");
        return list1;
    }
    public ArrayList<String> updateMethod(){
        list1.set(1,"5");
        return list1;
    }
    /**  迭代器遍历  */
    public void selectMethod1(){
        Iterator <String>it=list1.iterator();
        while(it.hasNext())
        {
            String string=it.next();
            System.out.print(string+"\t");
        }
    }
    /** foreach()方法 遍历 */
    public void selectMethod2(){
        for(String s:list1){
            System.out.print(s+"\t");
        }
    }
    /** for()方法 遍历 */
    public void selectMethod3(){
        for (int i = 0; i < list1.size(); i++) {
            System.out.print(list1.get(i)+"\t");
        }
    }
    public static void main(String[] args) {
        ListTest list1=new ListTest();
        System.out.print(list1.addMethod()+"\t");
        list1.selectMethod1();
        System.out.println();
        System.out.print(list1.deleteMethod()+"\t");
        list1.selectMethod2();
        System.out.println();
        System.out.print(list1.updateMethod()+"\t");
        list1.selectMethod3();
    }
}

第二种:Set 【两种迭代方式】

public class SetTest {
    HashSet<String> set1=new HashSet<>();
    public HashSet<String> addMethod(){
        set1.add("aaa");
        set1.add("bbb");
        set1.add("ccc");
        return set1;
    }
    public HashSet<String> deleteMethod(){
        set1.remove("aaa");
        return set1;
    }
    public HashSet<String> updateMethod(){
        set1.remove("aaa");
        set1.add("sss");
        return set1;
    }
    /**  迭代器遍历  */
    public void selectMethod1(){
        Iterator<String> it=set1.iterator();
        while(it.hasNext())
        {
            String string=it.next();
            System.out.print(string+"\t");
        }
    }
    /** foreach方法 遍历 */
    public void selectMethod2(){
        for(String s:set1){
            System.out.print(s+"\t");
        }
    }
    public static void main(String[] args) {
        SetTest set1=new SetTest();
        System.out.print(set1.addMethod()+"\t");
        set1.selectMethod1();
        System.out.println();
        System.out.print(set1.deleteMethod()+"\t");
        set1.selectMethod2();
        System.out.println();
        System.out.print(set1.updateMethod()+"\t");
        set1.selectMethod1();
    }
}

第三种:Map 【两种迭代方式】

public class MapTest {
    Map<String,String> map=new HashMap<String,String>();
    public Map<String,String> addMethod(){
        map.put("001","玛卡巴卡");
        map.put("002","胖不拉几");
        map.put("003","叮叮车");
        return  map;
    }
    public Map<String,String> deleteMethod(){
        map.remove("001");
        return map;
    }
    public Map<String,String> updateMethod(){
        map.remove("002");
        map.put("001","二哈");
        return map;
    }
    /** 迭代器 遍历 */
    public void selectMethod(){
        Iterator <String> it=map.keySet().iterator();
        while(it.hasNext())
        {
            String s1=it.next();
            String name=map.get(s1);
            System.out.println(s1+"\t"+name);
        }
    }
    public void selectMethod1(){
        /**  foreach()方法 遍历  */
        for (Map.Entry<String, String> entry : map.entrySet()){
            System.out.println(entry.getKey() + "\t" + entry.getValue());
        }
    }
    public static void main(String[] args) {
        MapTest map1=new MapTest();
        System.out.print(map1.addMethod()+"\t");
        map1.selectMethod();
        System.out.println();
        System.out.print(map1.deleteMethod()+"\t");
        map1.selectMethod();
        System.out.println();
        System.out.print(map1.updateMethod()+"\t");
        map1.selectMethod1();
    }
}
相关文章
|
28天前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
60 18
你对Collection中Set、List、Map理解?
|
21天前
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
55 20
|
2月前
|
存储 C++ 容器
【C++】map、set基本用法
本文介绍了C++ STL中的`map`和`set`两种关联容器。`map`用于存储键值对,每个键唯一;而`set`存储唯一元素,不包含值。两者均基于红黑树实现,支持高效的查找、插入和删除操作。文中详细列举了它们的构造方法、迭代器、容量检查、元素修改等常用接口,并简要对比了`map`与`set`的主要差异。此外,还介绍了允许重复元素的`multiset`和`multimap`。
35 3
【C++】map、set基本用法
|
2月前
|
存储 算法 C++
【C++】unordered_map(set)
C++中的`unordered`容器(如`std::unordered_set`、`std::unordered_map`)基于哈希表实现,提供高效的查找、插入和删除操作。哈希表通过哈希函数将元素映射到特定的“桶”中,每个桶可存储一个或多个元素,以处理哈希冲突。主要组成部分包括哈希表、哈希函数、冲突处理机制、负载因子和再散列,以及迭代器。哈希函数用于计算元素的哈希值,冲突通过开链法解决,负载因子控制哈希表的扩展。迭代器支持遍历容器中的元素。`unordered_map`和`unordered_set`的插入、查找和删除操作在理想情况下时间复杂度为O(1),但在冲突较多时可能退化为O(n)。
26 5
|
3月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
69 5
|
3月前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
56 3
|
3月前
|
Java 程序员
Java|List.subList 踩坑小记
不应该仅凭印象和猜测,就开始使用一个方法,至少花一分钟认真读完它的官方注释文档。
30 1
|
7月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1063 1
|
6月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
6月前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。