仅检索LinkedList中的一个特定数据(数据字段包含多个数据)

时间:2016-01-13 08:36:41

标签: java linked-list

我从头开始实现LinkedList类,它们有以下方法: Exception in thread "main" java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:194) at org.slf4j.LoggerFactory.bind(LoggerFactory.java:112) at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:105) at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:235) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:208) at org.apache.thrift.transport.TIOStreamTransport.<clinit>(TIOStreamTransport.java:38) at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:92) at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at com.soniya.demo.KavyaJdb.main(KavyaJdb.java:24)

我有一个getHead(), getCount(), addFront(), deleteFront()

的学生班

,节点包含方法constructor(String studentAdmNo, String studentName, String gender, String diploma, int year, String status), get set method, toString()

我将getData(), setData(), getLink(), setLink(), toString()对象添加到LinkedList(,因此此LinkedList数据字段包含多个数据;这是String studentAdmNo,String studentName,String gender,String diploma,int year,字符串状态)。

但是,我只想从数据字段中检索一个数据(即Student)。

year

我该怎么做?

3 个答案:

答案 0 :(得分:1)

你应该看一下这个例子(继续点击下面标记的几乎看不见的小按钮):Why Generics?

我认为您应该将列表设为通用。我想它现在包含Objects。在您的情况下,您应该声明类似class Node<E>class LinkedList<E>的类,并创建链接列表:LinkedList<Student>

我也反对披露Node类。请参阅此快速概述:Encapsulation/Information Hiding

您的getHead()方法应直接返回Student。然后你可以简单地做:

list.getHead().getYear();

答案 1 :(得分:1)

如果您的Node.getData()方法返回Object并且您已使用它来存储Student个对象,那么您可以将返回的对象强制转换为Student并调用相应的getter

int year = ((Student)j.getData()).getYear();

答案 2 :(得分:0)

你有吸气鬼&amp; setters,所以只需获取要从中检索年份的Node,并使用getter进行年度调用 可能该方法应该是node.getYear(); 其中node是Node的实例