java Linkedlist如何return其中的一个元素,在线等
我现在有一个People的Linkedlist,包含人名和年龄("张",20);("王",30);("李",26);("赵",40);现在已经可以按年龄排序,但是请问如何...
我现在有一个People的Linkedlist,包含人名和年龄
("张",20);
("王",30);
("李",26);
("赵",40);
现在已经可以按年龄排序,但是请问如何才能return年龄最大或者最小的人呢
请帮我写一下getYoungest(){}的方法,谢谢了!我知道使用peopleList.getFirst();和getLast,但是不知道应该return什么类型的值才能打印出来这个人
先谢谢各位高手了 展开
("张",20);
("王",30);
("李",26);
("赵",40);
现在已经可以按年龄排序,但是请问如何才能return年龄最大或者最小的人呢
请帮我写一下getYoungest(){}的方法,谢谢了!我知道使用peopleList.getFirst();和getLast,但是不知道应该return什么类型的值才能打印出来这个人
先谢谢各位高手了 展开
6个回答
展开全部
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;
}
}
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个例子看看:
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
return出来的会是个Object,要转成People类型,再调用getYoungest()就可以了,如下:
Peoplo p=(Peoplo)peopleList.getFirst();
p.getYoungest();
getYoungest(){
system.out.print(name+":"+age);
}
Peoplo p=(Peoplo)peopleList.getFirst();
p.getYoungest();
getYoungest(){
system.out.print(name+":"+age);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
....Linkedlist 的父类是List 果断List啊 返回一个列表就行了 看你定义的人是什么类型就返回什么类型
关于怎么写 getYoungest(list1,list2,list3){
经过计算和方法找到需要的那个年龄大或者小的人 A
return A(list类型)
}
关于怎么写 getYoungest(list1,list2,list3){
经过计算和方法找到需要的那个年龄大或者小的人 A
return A(list类型)
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Linkedlist list = ....
既然你都排好顺序了.
list.getFirst(); //得到第一个元素
list.getLast()//得到最后一个元素
剩下的你该懂了
既然你都排好顺序了.
list.getFirst(); //得到第一个元素
list.getLast()//得到最后一个元素
剩下的你该懂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询