java Linkedlist如何return其中的一个元素,在线等

我现在有一个People的Linkedlist,包含人名和年龄("张",20);("王",30);("李",26);("赵",40);现在已经可以按年龄排序,但是请问如何... 我现在有一个People的Linkedlist,包含人名和年龄
("张",20);
("王",30);
("李",26);
("赵",40);

现在已经可以按年龄排序,但是请问如何才能return年龄最大或者最小的人呢
请帮我写一下getYoungest(){}的方法,谢谢了!我知道使用peopleList.getFirst();和getLast,但是不知道应该return什么类型的值才能打印出来这个人

先谢谢各位高手了
展开
 我来答
andygulin
2012-05-09 · TA获得超过1678个赞
知道小有建树答主
回答量:1362
采纳率:0%
帮助的人:1119万
展开全部
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class Test {
public static void main(String args[]) {
System.out.println(new Test().getYoungest());
}

public People getYoungest() {
List<People> list = new LinkedList<People>();
list.add(new People("张", 20));
list.add(new People("王", 30));
list.add(new People("李", 26));
list.add(new People("赵", 40));
Collections.sort(list);
return list.get(list.size() - 1);
}
}

class People implements Comparable<People> {
private String name;
private int age;

public People(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

@Override
public int compareTo(People o) {
if (age > o.getAge())
return 1;
if (age < o.getAge())
return -1;
return 0;
}

@Override
public String toString() {
return "name=" + this.name + " age=" + this.age;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历盆郁7
2012-05-09 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:957万
展开全部
给你个例子看看:

import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;

public class Admin {

public static void main(String[] args) {

List data = new LinkedList();
data.add(new People("张", 20));
data.add(new People("王", 30));
data.add(new People("李", 26));
data.add(new People("赵", 40));

// 最小年龄
People minAge = (People) Collections.min(data, new Comparator<People>() {

public int compare(People o1, People o2) {
return o1.getAge() - o2.getAge();
}
});
System.out.println("最小年龄" + minAge.getAge());

// 最大年龄
People maxAge = (People) Collections.max(data, new Comparator<People>() {

public int compare(People o1, People o2) {
return o1.getAge() - o2.getAge();
}
});
System.out.println("最大年龄" + maxAge.getAge());
}
}

class People {

private String name;

private int age;

public People(String name, int age) {
this.name = name;
this.age = age;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

输出结果:

最小年龄20
最大年龄40
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hutu1234567
2012-05-09 · TA获得超过621个赞
知道小有建树答主
回答量:300
采纳率:50%
帮助的人:118万
展开全部
return出来的会是个Object,要转成People类型,再调用getYoungest()就可以了,如下:
Peoplo p=(Peoplo)peopleList.getFirst();
p.getYoungest();

getYoungest(){
system.out.print(name+":"+age);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mazhao0sc
2012-05-09
知道答主
回答量:10
采纳率:0%
帮助的人:7998
展开全部
....Linkedlist 的父类是List 果断List啊 返回一个列表就行了 看你定义的人是什么类型就返回什么类型
关于怎么写 getYoungest(list1,list2,list3){
经过计算和方法找到需要的那个年龄大或者小的人 A
return A(list类型)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邗启3V
2012-05-09 · TA获得超过7271个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1397万
展开全部
Linkedlist list = ....
既然你都排好顺序了.
list.getFirst(); //得到第一个元素
list.getLast()//得到最后一个元素
剩下的你该懂了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式