关于linksetjava的信息

博主:adminadmin 2022-12-01 07:20:06 61

本篇文章给大家谈谈linksetjava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA设计一个LIST的子类 拥有 返回一个消除重复项的ArrayList 的方法

package com.database.Model;

import java.util.ArrayList;

import java.util.LinkedHashSet;

import java.util.List;

public class ChildListE extends ArrayListE {

    private static final long serialVersionUID = 1L;

    public ListE removeSameItem(ListE list) {

        // 使用链表Set保证能先后存储有序

        LinkedHashSetE linkSet = new LinkedHashSetE();

        linkSet.addAll(list);// 将传进来的list存储到链表set中

        list.clear();// 清空原来的list

        list.addAll(linkSet);// 原来集合把链表set添加进去

        return list;

    }

    public static void main(String[] args) {

        ArrayListString list = new ArrayListString();

        list.add("A");

        list.add("B");

        list.add("B");

        list.add("C");

        list.add("D");

        list.add("F");

        list.add("D");

        list.add("D");

        ListString list2 = new ChildListString().removeSameItem(list);

        System.out.println(list);

        // 结果: [A, B, B, C, D, F, D, D]

        System.out.println(list2);

        // 结果: [A, B, C, D, F]

    }

}

Java编程:Exception in thread "main" java.lang.NullPointerException at Jds.linkSet.add(linkSet.java

你是想通过java模拟链表吧

Node的代码也没有贴出来,不过可以从异常定位为add方法有问题

//add方法中你只判断了p.next不为null,但p.next.element有可能是null的,

//需要判断p.next.element不为null,remove方法也有类似问题

while(p.next!=null){

if(p.next.element.equals(obj))

return false;

else

p=p.next;

}

Java:既然LinkHashSet已经是由链表实现的,为什么还需要用hashCode来决定元素放在哪呢?

您好,提问者:

1、因为Set底层是hashCode跟equals判断元素是否重复的。

2、我们知道Set的特点是不可重复,那么LinkHashSet既然是Set的特征,在判断链表之前必须先完成HashCode跟equals的判断,之后才放入链表。

PS:如还有不明白,请追问吧!

关于linksetjava和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。