精华内容
下载资源
问答
  • ArrayListset()方法 (ArrayList Class set() method) set() method is available in java.util package.set()方法在java.util包中可用。 set() method is used to replace the element at the given indices with ...

    ArrayList类set()方法 (ArrayList Class set() method)

    • set() method is available in java.util package.

      set()方法在java.util包中可用。

    • set() method is used to replace the element at the given indices with the given ele(element) in this Arraylist.

      set()方法用于用此Arraylist中的给定ele(element)替换给定索引处的元素。

    • set() method is a non-static method so it is accessible with the class object and if we try to access the method with the class name then we will get an error.

      set()方法是一种非静态方法,因此可以通过类对象进行访问,如果尝试使用类名称访问该方法,则会收到错误消息。

    • set() method may throw an exception at the time of replacing an element.

      set()方法在替换元素时可能会引发异常。

      IndexOutOfBoundsException: This exception may throw when the given indices are not in a range.

      IndexOutOfBoundsException :如果给定索引不在范围内,则可能引发此异常。

    Syntax:

    句法:

        public T set (int indices, T ele);
    
    

    Parameter(s):

    参数:

    • int indices – represents the indices of the given element to place.

      int index –表示要放置的给定元素的索引。

    • T ele – represents the element to store at the given indices.

      T ele –表示要存储在给定索引处的元素。

    Return value:

    返回值:

    In the first case, the return type of the method is T, it returns the previous stored element at the given indices in this Arraylist.

    在第一种情况下,方法的返回类型为T ,它将在此Arraylist中的给定索引处返回先前存储的元素。

    Example:

    例:

    // Java program to demonstrate the example 
    // of T set(int, T) method of ArrayList.
    
    import java.util.*;
    
    public class SetOfArrayList {
        public static void main(String[] args) {
            // Create an ArrayList with initial 
            // capacity of storing elements
    
            ArrayList < String > arr_l = new ArrayList < String > (10);
    
            // By using add() method is to add 
            // elements in this ArrayList
            arr_l.add("C");
            arr_l.add("C++");
            arr_l.add("JAVA");
            arr_l.add("DOTNET");
            arr_l.add("PHP");
    
            // Display ArrayList
            System.out.println("ArrayList Elements :" + arr_l);
    
            // By using set(int, T) method is to return the
            // previous element stored at the given index 
            // and replace the previous element with the given
            // element in this ArrayList.
    
            String element = arr_l.set(3, "Python");
    
            // Display Returned Element
            System.out.println("arr_l.set(3,Python) : " + element);
    
            // Display ArrayList
            System.out.println("ArrayList Elements : " + arr_l);
        }
    }
    
    

    Output

    输出量

    ArrayList Elements :[C, C++, JAVA, DOTNET, PHP]
    arr_l.set(3,Python) : DOTNET
    ArrayList Elements : [C, C++, JAVA, Python, PHP]
    
    
    

    翻译自: https://www.includehelp.com/java/arraylist-set-method-with-example.aspx

    展开全文
  • 以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据1.使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:删除重复数据...

    以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据

    1.使用LinkedHashSet删除arraylist中的重复数据

    LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:

    • 删除重复数据
    • 保持添加到其中的数据的顺序

    Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字。

    例如1,3和5.我们将列表添加到LinkedHashSet,然后将内容返回到列表中。结果arraylist没有重复的整数。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.LinkedHashSet;
     
    public class ArrayListExample
     
    {
        public static void main(String[] args)
     
        {
     
            ArrayList<Integer> numbersList = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
     
            System.out.println(numbersList);
     
            LinkedHashSet<Integer> hashSet = new LinkedHashSet<>(numbersList);
     
            ArrayList<Integer> listWithoutDuplicates = new ArrayList<>(hashSet);
     
            System.out.println(listWithoutDuplicates);
     
        }
     
    }

    输出结果

    [1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8]
     
    [1, 2, 3, 4, 5, 6, 7, 8]

    2.使用java8新特性stream进行List去重

    要从arraylist中删除重复项,我们也可以使用java 8 stream api。使用steam的distinct()方法返回一个由不同数据组成的流,通过对象的equals()方法进行比较。

    收集所有区域数据List使用Collectors.toList()。

    Java程序,用于在不使用Set的情况下从java中的arraylist中删除重复项。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
     
    public class ArrayListExample
    {
        public static void main(String[] args)
     
        {
     
            ArrayList<Integer> numbersList = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
            System.out.println(numbersList);
            List<Integer> listWithoutDuplicates = numbersList.stream().distinct().collect(Collectors.toList());
     
            System.out.println(listWithoutDuplicates);
     
        }
     
    }

    输出结果

    [1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8]
     
    [1, 2, 3, 4, 5, 6, 7, 8]

    3.利用HashSet不能添加重复数据的特性 由于HashSet不能保证添加顺序,所以只能作为判断条件保证顺序:

    private static void removeDuplicate(List<String> list) {
        HashSet<String> set = new HashSet<String>(list.size());
        List<String> result = new ArrayList<String>(list.size());
        for (String str : list) {
            if (set.add(str)) {
                result.add(str);
            }
        }
        list.clear();
        list.addAll(result);
    }

    4.利用List的contains方法循环遍历,重新排序,只添加一次数据,避免重复:

    private static void removeDuplicate(List<String> list) {
        List<String> result = new ArrayList<String>(list.size());
        for (String str : list) {
            if (!result.contains(str)) {
                result.add(str);
            }
        }
        list.clear();
        list.addAll(result);
    }

    5.双重for循环去重

    for (int i = 0; i < list.size(); i++) { 
    for (int j = 0; j < list.size(); j++) { 
    if(i!=j&&list.get(i)==list.get(j)) { 
    list.remove(list.get(j)); 
     } 

    展开全文
  • Java中ArrayList集合

    千次阅读 多人点赞 2019-06-04 15:42:38
    ArrayList集合是程序最常见的一种集合,属于引用类型,在AyyayList内部封装了一个长度可变的数组,当存储元素超过数组长度时,ArrayList会在内存分配一个更大的数组来存储这些元素,可以看做ArrayList是一个长度...

    一、概述

    ArrayList集合是程序中最常见的一种集合,属于引用类型,在AyyayList内部封装了一个长度可变的数组,当存储元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,可以看做ArrayList是一个长度可变的数组。

    1、创建集合

    • 导包:import java.util.ArrayList;
    • 创建对象:ArrayList<要存储的数据类型>  变量名  =  new  ArrayList<要存储的数据类型>();

    注意:<要存储的数据类型>中必须为引用数据类型

    2、基本数据类型对应应用数据类型

    基本数据类型对应的引用数据类型
    byteByte
    shortShort
    intInteger
    longLong
    floatFloat
    doubleDouble
    charCharacter
    booleanBoolean

    3、创建方式 

    • 存储String类型的元素:ArrayList<String>  list  =  new  ArrayList<String>();
    • 存储int类型的元素:ArrayList<Integer>  list  =  new  ArrayList<Integer>();
    • 创建自己定义的Student类型的数据:ArrayList<Student>  list  = new  ArrayList<Student>();

    集合和数组的区别:

    • 集合的长度是可变的,数组的长度是固定的

    • 集合中存储的元素必须是引用类型数据

    二、代码实例

    实例1:存储元素

    package List;
    
    import java.util.ArrayList;
    
    public class Main {
        public static void main(String[] args)
        {
            ArrayList<String> List = new ArrayList<>();     //创建集合
            List.add("hello ");     //添加元素
            List.add("my ");
            List.add("love!");
            System.out.println(List);       //打印整个集合
            System.out.println(List.size());        //获取集合元素个数
            System.out.println(List.get(0));        //获取第一个元素
            System.out.println(List.get(1));        //获取第二个元素
            System.out.println(List.get(2));        //获取第三个元素
            System.out.println("==================================");
            for(int i = 0;i < List.size();i++)        //遍历打印集合
            {
                System.out.println(List.get(i));
            }
        }
    }

    实例2:存储Student类,对学生的信息进行封装,并随机获取一个学生信息

    Student.java文件:

    package myList;
    
    //创建学生类
    public class Student {
        private String name;
        private int age;
    
        public Student()
        {
        }
    
        public void setAge(int age)
        {
            this.age = age;
        }
    
        public void setName(String name)
        {
            this.name = name;
        }
    
        public int getAge()
        {
            return age;
        }
    
        public String getName()
        {
            return name;
        }
    
    }

    Main.java文件

    package myList;
    
    import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args)
        {
            ArrayList<Student> List = new ArrayList<Student>();     //创建一个容器存储学生信息
            addStudentList(List);       //添加学生信息
            pritnStudentList(List);     //打印学生信息
            randomStudentList(List);        //随机抽取某个学生信息
        }
    
        //添加学生信息
        public static void addStudentList(ArrayList<Student> List)
        {
            Scanner Sca = new Scanner(System.in);
            for(int i = 0;i < 3;i++)
            {
                Student Stu = new Student();
                Stu.setAge(Sca.nextInt());
                Stu.setName(Sca.next());
                List.add(Stu);
            }
        }
    
        //打印学生信息
        public static void pritnStudentList(ArrayList<Student> List)
        {
            for(int i = 0;i < List.size();i++)
            {
                Student s = List.get(i);
                System.out.println(s.getAge());
                System.out.println(s.getName());
            }
        }
    
        //随机抽取某个学生信息
        public static void randomStudentList(ArrayList<Student> List)
        {
            int net = new Random().nextInt(List.size());
            Student S = List.get(net);
            System.out.println(S.getAge());
            System.out.println(S.getName());
        }
    }

     

    展开全文
  • Java中ArrayList的使用

    万次阅读 多人点赞 2018-08-06 13:51:12
    ArrayList类是一个特殊的数组--动态数组。来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。 优点: 1、支持自动改变大小 2、可以灵活的插入元素 3、可以灵活的删除元素 局限:...

    ArrayList类是一个特殊的数组--动态数组。来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。

    优点:

    1、支持自动改变大小
    2、可以灵活的插入元素
    3、可以灵活的删除元素

    局限:

    比一般的数组的速度慢一些;

    用法

    一、初始化:

    1、不初始化容量

    ArrayList arr1 = new ArrayList(); //不初始化刚开始的数组容量,当数组容量满时数组会自动一当前数组容量的2倍扩容
    

    2、初始化容量

    ArrayList arr2 = new ArrayList(3);//初始容量为3

    3、用一个集合或数组初始化 

    ArrayList arr3 = new ArrayList(a);        //a为集合或数组

     

    二、添加元素

    方法:1)add(object value) ;将指定元素object value追加到集合的末尾

    ArrayList arr = new ArrayList(); //初始化数组,下面各种方法省略初始化    
    arr.add("a");    //往数组里添加元素
    

    2) add(int index,  Object obj);

    1. 功能:在集合中指定index位置,添加新元素obj
    2. 功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。

    同样可以用Insert(int index,object value)将元素插入到索引处,不过其有一定的限制性,必须在数组长度以内插入数组;
                       InsertRange(int index,ICollection c)方法一样;

     

    三、删除元素

    方法:remove();

    功能:从集合中删除指定位置处的元素,返回该元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。

    arr.remove("a");    //在数组里删除元素(根据对象删除)
    arr.remove(0);    //根据下标删除ArrayList的元素

     

    四、获取数组

    方法:size() ;

    功能:用于获取ArrayList的大小,返回集合中的元素个数。

    arr.size();    //获取arr数组的大小

     

    五、替换元素

    方法:set() ;

    功能:用指定元素obj替代集合中指定index位置的元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。

    arr.set(1, "10");          // 设置第2个元素为10

     

    六、清空集合内的所有元素

    方法:clear() ;

    功能:清空集合中所有元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[]。

    arr.clear();     //清空arr里的所有元素

     七、查找元素

    方法:get(int index);  //index -- 该元素返回的索引值

    功能:返回集合中指定位置上的元素

    import java.util.ArrayList;
    public class ArrayListDemo01 {
    	public static void main(String[] args) {
    		// 创建ArrayList集合
    		ArrayList<String> list = new ArrayList<String>();
    		// 向集合中添加元素
    		list.add("stu1");
    		list.add("stu2");
    		list.add("stu3");
    		list.add("stu4");
    		// 获取集合中元素的个数
    		System.out.println("集合的长度:" + list.size());
    		// 取出并打印指定位置的元素
    		System.out.println("第1个元素是:" + list.get(0));
    		System.out.println("第2个元素是:" + list.get(1));
    		System.out.println("第3个元素是:" + list.get(2));
    		System.out.println("第4个元素是:" + list.get(3));
    	}
    }

     

    展开全文
  • 对于随机访问get和setArrayList觉得优于LinkedList,因为LinkedList要移动指针。  3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。  ArrayList和LinkedList是两个集合类,...
  • java中ArrayList和LinkList的区别

    千次阅读 2019-07-09 15:39:27
    java中ArrayList和LinkList的区别 1.首先我们说下ArrayList和LinkList各是基于什么原理实现的? 答:ArrayList底层是数组结构,LinkList底层是链表结构。我们来说一下数组与链表的区别: 1.数组的定义:是相同数据...
  • java中ArrayList(基础)

    千次阅读 2020-10-27 15:01:00
    java中ArrayList基础 ArrayListArrayList是集合的一种, 集合是存储空间可变的存储模型,存储数据的容量可发生改变。 ArrayList的特点: 底层是数组是想的, 长度可以改变。 (数组的长度不可改变) 泛型: ...
  • java中ArrayList应用实例

    千次阅读 2016-07-11 22:10:29
    * 功能:ArrayList应用实例 * */ package jihe; import java.util.*; import java.io.*; public class yingyong { public static void main(String[] args) throws Exception{ // TODO Auto-generated method...
  • 各位朋友,我在类的定义出现了 private static final ArrayList<Set<Integer>> tmp = new ArrayList<Set<Integer>>()[10] 这样的语句,但是编译器保存,请问各位,我应该如何修改?
  • java中ArrayList和class简介

    千次阅读 2016-03-04 22:21:30
    虽然在Java中数组是运算速度最快的容器,但是在实际开发过程,使用最频繁的数据容器并不是数组,而是ArrayList集合。 ArrayList也是一种引用类型,使用方式与其他引用类型使用方式相同。是Java预先已经定义好的类...
  • java中ArrayList 、LinkList区别

    千次阅读 2018-05-21 11:04:38
    对于随机访问get和setArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处。(参考数组与链表来思考) 3.对于新增和删除操作add和remove,LinedList比较占优势,...
  • JAVA中ArrayList的实现与分析

    千次阅读 2019-11-20 14:42:44
    ArrayList 单链表 是一种可增长的数组实现 优点在于,对get和set的调用花费常数时间 缺点是add和remove的代价昂贵 实现 package com.leeyf.myarraylist; import java.util.Iterator; public abstract class ...
  • Java中ArrayList类详解

    万次阅读 2011-12-06 16:15:48
    ArrayList就是传说的动态数组,用MSDN的说法,就是Array的复杂版本,它提供了如下一些好处:  动态的增加和减少元素  实现了ICollection和IList接口  灵活的设置数组的大小 2、如何使用ArrayList  最...
  • java中ArrayList 、LinkList、List区别

    千次阅读 2012-03-02 13:53:45
    java中ArrayList 、LinkList区别 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。  2.对于随机访问get和setArrayList觉得优于LinkedList,因为LinkedList要移动指针。  3
  • Java中ArrayList和LinkedList的性能对比

    千次阅读 2019-04-22 16:39:17
    对于随机访问get和setArrayList觉得优于LinkedList,因为LinkedList要移动指针。 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 代码 package ...
  • Java中ArrayList的一些常用方法举例

    万次阅读 2019-03-15 19:31:00
    所以通过几天的学习研究,上网查资料得知集合比较简单的易上手的差不多三个,一种类型一个吧,分别是ArrayList;HashSet;HashMap; 这篇文章我们先从ArrayList说起! 方法概览: add([int index],...
  • Java中ArrayList的去重复及排序

    千次阅读 2016-01-17 14:18:18
    去重复思想:首先创建一个新都集合,通过遍历旧的集合,用旧集合的元素判断新集合当中是否有该元素,...import java.util.ArrayList;public class ArrayListDemo { public static void main(String[] args) { Array
  • Java中ArrayList和LinkedList区别以及时间复杂度与空间复杂度?一.时间复杂度二.空间复杂度三.总结  一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList...
  • JAVA 中ArrayList如何去除重复项方法。

    千次阅读 2016-02-19 19:08:37
    Java Collection实现类ArrayList如何去除重复项。以下列出了几种方法,以不同的方面去考虑。 (1)通过循环剔除重复项:使用双向的for循环,依次取出集合元素进行比较。【基本类型。自定义类型自定义比较方法...
  • Java中ArrayList 元素的排序

    万次阅读 2015-12-13 15:53:55
    ArrayList中存储的是String类型的数据,在对这个 ArrayList 进行排序,你需要调用 Collections.sort()方法,看一段示例代码: package com.sort.pack; import java.util.ArrayList; import java.util....
  • Java删除ArrayList中的重复元素的2种方法 ArrayListJava中最常用的集合类型之一。它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序。在编码时我们经常会遇到那种必须从已建成的ArrayList中删除重复...
  • 一般大家都知道ArrayList和LinkedList的大致区别:  ...对于随机访问get和setArrayList觉得优于LinkedList,因为LinkedList要移动指针。   3.对于新增和删除操作add和remove,LinedList比较占优势,因为Ar...
  • (小白学javaJava ArrayList

    万次阅读 2021-07-06 16:25:32
    ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下: import java.util.ArrayList; // 引入 ArrayListArrayList<E> objectName =new ArrayList<>(); // 初始

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 459,376
精华内容 183,750
关键字:

java中arraylist的set

java 订阅