关于linksetjava的信息
本篇文章给大家谈谈linksetjava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA设计一个LIST的子类 拥有 返回一个消除重复项的ArrayList 的方法
- 2、Java编程:Exception in thread "main" java.lang.NullPointerException at Jds.linkSet.add(linkSet.java
- 3、Java:既然LinkHashSet已经是由链表实现的,为什么还需要用hashCode来决定元素放在哪呢?
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和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。