treeset java_Java TreeSet addAll()方法与示例

treeset java

TreeSet类的addAll()方法 (TreeSet Class addAll() method)

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

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

  • addAll() method is used to copy all of the objects to this TreeSet and paste it in the given collection (co).

    addAll()方法用于将所有对象复制到此TreeSet并将其粘贴到给定的集合(co)中。

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

    addAll()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • addAll() method may throw an exception at the time of copying all of the elements.

    复制所有元素时, addAll()方法可能会引发异常。

    • ClassCastException: This exception may throw when the given parameter is incompatible to compare.ClassCastException :如果给定参数不兼容以进行比较,则可能引发此异常。
    • NullPointerException: This exception may throw when the given parameter is null exists.NullPointerException :当给定参数为null时,可能引发此异常。

Syntax:

句法:

    public boolean addAll(Collection co);

Parameter(s):

参数:

  • Collection co – represents the collection object is to be added.

    集合co –表示要添加的集合对象。

Return value:

返回值:

The return type of the method is boolean, it returns true when we add all of the objects in the given collection (co) to this TreeSet otherwise it returns false.

该方法的返回类型为boolean ,当我们将给定集合(co)中的所有对象添加到此TreeSet时,它返回true,否则返回false。

Example:

例:

// Java program to demonstrate the example 
// of boolean addAll(Collection co) method of TreeSet 

import java.util.*;

public class AddAllOfTreeSet {
    public static void main(String[] args) {
        // Instantiates a TreeSet object
        TreeSet < String > tree_set1 = new TreeSet < String > ();
        TreeSet < String > tree_set2 = new TreeSet < String > ();

        // By using add() method is to add
        // the given object of this
        // TreeSet if not exists
        tree_set1.add("C");
        tree_set1.add("C++");
        tree_set1.add("JAVA");
        tree_set1.add("PHP");
        tree_set1.add("SFDC");

        // Display TreeSet
        System.out.println("TreeSet1: " + tree_set1);
        System.out.println("TreeSet2: " + tree_set2);

        // By using addAll() method is to add
        // all of the elements exists in tree_set1 
        // into a tree_set2
        tree_set2.addAll(tree_set1);

        // Display Modified TreeSet2
        System.out.println("TreeSet2: " + tree_set2);
    }
}

Output

输出量

TreeSet1: [C, C++, JAVA, PHP, SFDC]
TreeSet2: []
TreeSet2: [C, C++, JAVA, PHP, SFDC]


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

treeset java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将自定义类型的 `ArrayList` 转换为 `TreeSet`,需要满足以下两个条件: 1. 自定义类型必须实现 `Comparable` 接口,重写 `compareTo` 方法,以便 `TreeSet` 可以进行排序。 2. 如果自定义类型没有实现 `Comparable` 接口,可以在创建 `TreeSet` 对象时传入一个自定义的比较器对象。 以下是一个示例代码: ```java import java.util.ArrayList; import java.util.Comparator; import java.util.TreeSet; public class Main { public static void main(String[] args) { // 创建一个自定义类型的 ArrayList 对象 ArrayList<Person> arrayList = new ArrayList<>(); arrayList.add(new Person("Alice", 20)); arrayList.add(new Person("Bob", 30)); arrayList.add(new Person("Charlie", 25)); // 将 ArrayList 转换成 TreeSet TreeSet<Person> treeSet = new TreeSet<>(new Comparator<Person>() { @Override public int compare(Person p1, Person p2) { // 按照年龄进行排序 return p1.getAge() - p2.getAge(); } }); treeSet.addAll(arrayList); // 打印结果 System.out.println("ArrayList: " + arrayList); System.out.println("TreeSet: " + treeSet); } } class Person implements Comparable<Person> { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return name + "(" + age + ")"; } @Override public int compareTo(Person p) { // 按照姓名进行排序 return name.compareTo(p.getName()); } } ``` 输出结果为: ``` ArrayList: [Alice(20), Bob(30), Charlie(25)] TreeSet: [Alice(20), Charlie(25), Bob(30)] ``` 在上面的示例中,`Person` 类实现了 `Comparable` 接口,并重写了 `compareTo` 方法,以便 `TreeSet` 可以按照姓名进行排序。如果 `Person` 类没有实现 `Comparable` 接口,就需要在创建 `TreeSet` 对象时传入一个自定义的比较器对象,这里使用了匿名内部类的方式。在比较器对象中,将按照年龄进行排序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值