0

我是java新手!谁能告诉我如何获取对象列表中的特定值?

这是我的代码:

end = CourseLocalServiceUtil.getCoursesCount();

List<Course> c = CourseLocalServiceUtil.getCourses(0, end);

c 对象包含课程对象列表。我只想显示所有课程对象的特定列值。

我需要c.getCourseName()学习所有课程对象。任何人都可以帮助我吗?

4

6 回答 6

0

我建议使用Map接口的一些内置实现。

例如,HashMap,其中courseName将是一个,而 theCounse将是一个对应的

这种方法将允许您获得复杂度为O(1)的特定元素。否则,如果您更喜欢使用List,则必须使用循环搜索特定对象。

于 2013-09-02T11:58:18.530 回答
0

为每个循环使用一个,如下所示

   for(Course course : c)
    {

       System.out.println(c.getCourseName() + "  " + c.getCourseID() + ...so on)
    }
于 2013-09-02T12:01:35.827 回答
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);
    }

}
于 2013-09-02T12:16:49.697 回答
0

如果您提供将 A 转换为 B的方法, Guava库有一个方法可以帮助您将 a 转换List<A>为 a 。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();
  }
});
于 2013-09-02T12:22:57.933 回答
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 allCourse = c.toString();
System.out.println("List of courses = "+allCourse);

注意:toString() 是一种跨任何对象使用并从 Object 类继承的方法。您还可以覆盖并实现它以根据您自己的逻辑对任何对象(例如 Employee、Course 等)自定义您的 toString()。

您可以查看在 ArrayList 或 LinkedList 中实现的 toString() 以获得更好的想法。

于 2013-09-02T12:36:39.207 回答
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);

它适用于单一课程对象

于 2013-09-03T07:29:21.917 回答