我是java的新手!任何人都可以告诉我如何在对象列表中获取特定值吗?
这是我的代码:
end = CourseLocalServiceUtil.getCoursesCount();
List<Course> c = CourseLocalServiceUtil.getCourses(0, end);
c对象包含课程对象列表。我想只显示所有课程对象的特定列值。
我需要在所有课程对象中获得c.getCourseName()
。有谁可以帮助我?
答案 0 :(得分:0)
我建议使用Map接口的一些内置实现。
比如,HashMap,其中 courseName 将是键,Counse
将是相应的值强>
这种方法将允许您获得复杂度为 O(1)的特定元素。否则,如果您更倾向于使用List
,则必须搜索具有某个循环的特定对象。
答案 1 :(得分:0)
对每个循环使用a,如下所示
for(Course course : c)
{
System.out.println(c.getCourseName() + " " + c.getCourseID() + ...so on)
}
答案 2 :(得分:0)
将toString()
类的java.lang.Object
方法覆盖到您的最佳方法
“课程”课程如下。
public class Course {
private String column1;
private String column2;
//dont want to show the value of this column.
private double fees;
public Course(String column1, String column2, double fees) {
super();
this.column1 = column1;
this.column2 = column2;
this.fees = fees;
}
@Override
public String toString() {
return "Course [column1=" + column1 + ", column2=" + column2 + "]";
}
/**
* @param args
*/
public static void main(String[] args) {
Course course = new Course("abc","xyz",1000.00);
System.out.println(course);
}
}
答案 3 :(得分:0)
如果您提供将A转换为B的List<A>
,那么库Guava有一种方法可以帮助您将List<B>
转换为Function<A,B>
。
您的输入是List<Course>
。您想要的输出是List<String>
。这是一个例子:
Collection<String> col = Collections2.transform(inputCol, new Function<Course, String>() {
@Nullable
@Override
public String apply(@Nullable Course input) {
//Here, specify how to extract the value you want from the Course.
return input.getName();
}
});
答案 4 :(得分:0)
课程班级:
public class Course {
//declaration of properties
private String courseName;
....other property declaration
//setter/getter methods for properties as applicable...
/*
override toString. This will be used when you use object.toString().
E.g. in Course c=new Course(), and you print as System.out.println(c),
it will call to toString() and will be printed the return value.
*/
@Override
public String toString() {
return "\n"+courseName;
}
}
您打印列表的代码......
end = CourseLocalServiceUtil.getCoursesCount();
List<Course> c = CourseLocalServiceUtil.getCourses(0, end);
System.out.println(c);
您还可以将所有课程存储在String中:
String allCourse = c.toString();
System.out.println("List of courses = "+allCourse);
注意:toString()是一个跨任何对象使用并从Object类继承的方法。您也可以根据您自己的逻辑对员工,课程等任何对象进行覆盖并实施它来自定义您的toString()。
您可以看到在ArrayList或LinkedList中实现的toString()以获得更好的想法。
答案 5 :(得分:0)
List<Course> c= CourseLocalServiceUtil.findCourse(cname);
System.out.println(c);
ArrayList al =new ArrayList(c);
String cname1=c.get(0).getCname();
System.out.println(cname1);
单个课程对象的工作