`

List、Set常用方法集合

    博客分类:
  • java
 
阅读更多
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class TestList {
    
    public List studentList;

    public static void main(String[] args) {
        Classes c = new Classes();
        //向集合中逐个添加元素,两种方法add(对象),add(索引,对象)
        List list = new ArrayList();
        Stu s1 = new Stu("1","张三");
        list.add(s1);//向List集合中添加元素
        Stu s2 = new Stu("2", "李四");
        list.add(s2);
        Stu s3 = new Stu("3", "王五");
        list.add(0, s3);//向List集合中指定位置添加元素
        Stu s4 = new Stu("4", "赵六");
        System.out.println("list结合中学生的个数:" + list.size());
        list.add(list.size(),s4);//向List集合后面添加元素
        //list.add(5,s4);//会报错:java.lang.IndexOutOfBoundsException: Index: 5, Size: 4
        
        //向集合中一次添加多个元素,两种方法addAll(对象集合),addAll(索引,对象集合)
        Stu[] stuArray = {new Stu("5", "小名"),new Stu("6", "小红")};
        list.addAll(Arrays.asList(stuArray));//向集合后面添加多个对象
        
        Stu[] stuArray2 = {new Stu("7", "tom"),new Stu("8", "jack")};
        list.addAll(0, Arrays.asList(stuArray2));
        
        System.out.println("*******获取list中对象的方法一*******");
        //增强for循环获取list中对象
        for (Object o : list) {
            Stu s = (Stu)o;  //在没有存入没有泛型的集合中的对象,到了集合中就被转换为了Object对象,所以在获取本集合中的某个对象时需要强制类型转换
            System.out.println(s.getId()+ ":" + s.getName());
        }
        //list.clear();//清除list中的所有对象
        System.out.println("*******修改list中对象的方法*******");//使用set方法
        list.set(0, new Stu("0", "Alex"));  //第0位置上的对象本为tom,通过set方法被修改为了Alex
        System.out.println("*******获取list中对象的方法二*******");
        //普通for循环获取list中对象
        for (int i = 0; i < list.size(); i++) {
            Stu s = (Stu) list.get(i);//获取list中某个位置上的对象
            System.out.println(s.getId()+ ":" + s.getName());
        }
        
        System.out.println("***********删除list中对象**************");
        
        Stu s = (Stu) list.get(0);
        list.remove(s);//通过对象删除
        list.remove(0);//通过索引删除
        list.removeAll(Arrays.asList(stuArray));//删除多个元素
        System.out.println("*******获取list中对象的方法三*******");
        //使用迭代器获取list中对象
        Iterator it = list.iterator();
        while(it.hasNext()) {
            Stu stu = (Stu)it.next();
            System.out.println(stu.getId()+ ":" + stu.getName());
        }
        
        System.out.println("*********使用泛型************");
        List<Stu> stuList = new ArrayList<Stu>();
        stuList.add(s1);
        stuList.add(s2);
        for (Stu stu : stuList) {//使用泛型就可以去掉类型转换过程了
            System.out.println(stu.getId()+ ":" + stu.getName());
        }
        for (int i = 0; i < stuList.size(); i++) {
            Stu stu = stuList.get(i);//获取stuList中某个位置上的对象
            System.out.println(stu.getId()+ ":" + stu.getName());
        }
    }
}

 List集合是有序的,可以重复的,所以可以通过下标的形式获取某个元素,可存储多个null值,在获取时要注意判断;

 

Set集合是无序的,不可以重复(每一个值都是唯一的),所以不可以通过下标的形式获取某个元素,可存储一个null值。

 

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

public class TestSet {
    
    public Set<Stu> stuSet;

    public static void main(String[] args) {
        Set<Stu> stuSet = new HashSet<Stu>();
        Stu s1 = new Stu("1","张三");
        stuSet.add(s1);//向List集合中添加元素
        Stu s2 = new Stu("2", "李四");
        Stu s3 = new Stu("3", "王五");
        Stu[] stuArray = {s2,s3};
        //stuSet.add(0, s3);//会报错的,set是无序的,故没有Set提供的方法中均没有下标的
        stuSet.addAll(Arrays.asList(stuArray));
        /*stuSet.add(null);set中允许存储null值,但是只能有一个
        stuSet.add(null);*/
        stuSet.add(s1);
        System.out.println(stuSet.size());//结果为3,set是不可重复的,s1已添加进入了
        
        /*Iterator<Stu> it = stuSet.iterator();
        while(it.hasNext()) {
            Stu stu = it.next();  //输出多次的结果不相同,set无序,所以每次结果可能会不一样
            System.out.println(stu.getId()+ ":" + stu.getName());
        }*/
    }
}

  

分享到:
评论

相关推荐

    集合概述set、List、Map

    ### 集合概述:set、List、Map #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,集合框架是一个非常重要的概念,它提供了一种灵活的方式来存储、操作和管理不同类型的对象集合。集合框架的主要目标是...

    JAVA集合map、list、set详解

    详细描述map、list、set的常用子类特性,各个场景的适用。

    List set map集合容器的区别

    根据给定文件的信息,我们可以详细地探讨一下Java中几种主要的集合容器——List、Set以及Map的区别,并且深入了解它们各自的特性和应用场景。 ### 一、List #### 1. ArrayList - **特点**:`ArrayList`是基于动态...

    Java集合Collection、List、Set、Map使用详解

    ### Java集合Collection、List、Set、Map使用详解 #### 1. 集合框架概述 集合框架是Java编程语言中最基本且最重要的组成部分之一。它提供了处理数据集合的强大工具,这些工具不仅支持基本操作(如添加、删除和查找...

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    Tedu一阶段JavaSet集合和List集合

    #### 三、List集合常用方法 - `get(int index)`:根据索引获取元素。 - `set(int index, E element)`:将指定位置的元素替换为新元素。 - `remove(int index)`:移除指定位置的元素并返回被移除的元素。 - `add(int...

    C#实现下拉框绑定list集合的方法

    当需要将数据库或其他数据源中的数据绑定到下拉框时,通常会使用列表(List)集合来存储这些数据。本篇文章将详细介绍如何在C#中实现下拉框与list集合的绑定,以及相关的控件绑定技巧。 首先,我们需要创建一个表示...

    List,set,Map 的用法和区别

    Java 集合框架中 List、Set、Map 的用法和区别 Java 集合框架(Java Collections Framework)是 Java 语言中的一个重要组件,提供了一些基本的数据结构和算法来操作和存储数据。其中,List、Set、Map 是三个非常...

    Java数组去重 集合List去重的常用方法总结

    ### Java数组去重与List集合去重的常用方法总结 #### 一、Java数组去重方法 在实际的开发工作中,经常会遇到需要处理数组中重复元素的问题。下面将详细介绍两种常用的数组去重方法。 ##### 方法一:For双循环法 ...

    List Set Map以及子类的比较 .docx

    List 集合的特有方法有:add(index, value) 在 index 位置添加值,remove(index) 移除 index 位置的值,set(index, value) 将 index 位置的值替换为 value,get(index) 获取指定索引处的值。 Set 集合的特点是散列...

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf

    本文将详细解释Java集合框架的实现原理、Collection、List、Set、Map四大类的使用方法和原理。 1. 集合框架概述 Java集合框架是一个容器,用于存储和操作对象的集合。这个框架提供了多种类型的容器,每种容器都有...

    Java集合:Collection、List、Set、Map使用详解

    本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...

    Java-Java集合体系-List-Set

    在Java中,集合主要分为三大接口:List、Set和Map。这些接口各有特点,适用于不同的应用场景。 一、List接口 List接口是单列集合的子接口,它允许存储重复的元素,并且元素具有顺序性。List接口提供了丰富的操作...

    Java集合排序及java集合类详解(Collection、List、Map、Set).pdf

    Java集合排序及Java集合类...本文详细解释了Java集合框架的实现原理、Collection、List、Set、Map四个接口的定义和实现原理,以及它们的常用方法。同时,本文还对Java集合框架的设计理念和实现原理进行了详细的解释。

    List集合之间内连接

    在.NET编程环境中,List集合是常用的数据结构,用于存储一系列有序的对象。当我们需要将两个或多个List集合中的元素根据特定条件进行匹配并合并时,可以使用内连接(Inner Join)操作。内连接会返回两个集合中满足...

    Java集合Collection、List、Set、Map使用详解.doc

    Java 集合框架的主要组件包括 Collection、List、Set、Map 等。 1.1 容器简介 容器是指可以存储对象的对象。 Java 集合框架中有多种类型的容器,每种容器都有其特点和用途。常见的容器有 Collection、List、Set、...

    559.557.JAVA基础教程_集合-Collections工具类常用方法的测试(559).rar

    Java集合框架是Java编程中不可或缺的部分,而Collections工具类则是这个框架中的一个重要工具,它提供了大量静态方法,用于操作各种集合接口(如List、Set、Queue等)的实例。本教程将深入探讨Collections工具类中的...

    list常用方法

    ### List常用方法详解 在Java编程语言中,`List`接口是集合框架的重要组成部分,它提供了有序元素集合的实现,并允许重复元素的存在。本文将详细解释`List`接口中的常用方法,帮助开发者更好地理解和运用这些功能...

    C#List集合分组winform把List分组

    描述中提到的“**再做List数据集合打印或数据绑定时,需要把List集合分组筛选**”意味着在处理List数据并准备显示或输出时,可能需要根据某些条件对数据进行分类,然后可能进一步筛选出特定的子集。这可以通过Linq的...

Global site tag (gtag.js) - Google Analytics