当前位置: 首页 > 知识库问答 >
问题:

方法检查ArrayList中对象的变量

瞿博学
2023-03-14
package Ex1;

import java.text.NumberFormat;

public class Textbook 
{
private String category, title, author;
private int year;
private double price;

public Textbook (String category, String title, String author, int year,
                 double price)
{
    this.category = category;
    this.title = title;
    this.author = author;
    this.year = year;
    this.price = price;
}

public String toString()
{
    NumberFormat fmt = NumberFormat.getCurrencyInstance();

    String description;

    description = "Category: " + category + "\n";
    description += "Title: " + title + "\n";
    description += "Author: " + author + "\n";
    description += "Year: " + year + "\n";
    description += "Price: " + fmt.format(price) + "\n" + "\n";

    return description;
}

}

目录类

package Ex1;

import java.util.ArrayList;

public class Catalogue 
{
private ArrayList <Textbook> catalogue;

public Catalogue ()
{
    catalogue = new ArrayList<Textbook>();
}

public void addTextbook (Textbook t) 
{
    catalogue.add(t);
}

public boolean existTextbook(String title, String author)
{

}

public void deleteTextbook(String title)
{   

}

public String toString()
{
    return catalogue.toString(); 
}
}

驱动程序类

package Ex1;

public class Drivermain 
{
public static void main(String[] args) 
{
    Textbook javaBook = new Textbook ("Computer Science", 
            "Java Software Solutions", "Lewis/Loftus", 2015, 163.45);

    Textbook dataBook = new Textbook ("Computer Science", 
            "Data Structures and Algorithm Analysis in Java,", 
            "Mark A. Weiss", 2015, 181.90);

    Textbook calcBook = new Textbook ("Mathematics", 
            "Calculus Plus NEW MyMathLab", "Briggs/Cochran/Gillett",
            2015, 236.90);

    Textbook osBook = new Textbook ("Computer Science", 
            "Operating Systems: Internals and Design Principles",
            "William Stallings", 2015, 205.70);

    Textbook historyBook = new Textbook ("History", 
            "History of the Canadian Peoples: Beginnings to 1867, Vol. 1",
            "Conard/Finkel/Fyson", 2015, 96.90);

    Catalogue bookCatalogue = new Catalogue();

    bookCatalogue.addTextbook(javaBook);
    bookCatalogue.addTextbook(dataBook);
    bookCatalogue.addTextbook(calcBook);
    bookCatalogue.addTextbook(osBook);
    bookCatalogue.addTextbook(historyBook);

    System.out.println(bookCatalogue);


    bookCatalogue.existTextbook("Java Software Solutions", "Lewis/Loftus");
    bookCatalogue.deleteTextbook("Java Software Solutions");

    }
}

共有1个答案

袁元明
2023-03-14

我认为,与其使用集合中的方法,您可能希望自己处理查找Arraylist的问题。

我没有使用for each循环(只是for循环),因为for delete会导致并发修改异常。

 package Ex1;

import java.util.ArrayList;

public class Catalogue 
{
private ArrayList <Textbook> catalogue;

public Catalogue ()
{
    catalogue = new ArrayList<Textbook>();
}

public void addTextbook (Textbook t) 
{
    catalogue.add(t);
 }

public boolean existTextbook(String title, String author)
{
    for(int i =0; i<catalogue.Size(); i++){
       Textbook t = catalogue.get(i);
       //you'll want getter and setter methods
       if(t.author.equals(author)&&t.title.equals(title))
           return truel
    }
}

public void deleteTextbook(String title)
{   
    for(int i =0; i<catalogue.Size(); i++){
       Textbook t = catalogue.get(i);
       if(t.title.equals(title)){
          catalogue.remove(i);
       }
    }

}

public String toString()
{
    return catalogue.toString(); 
}
}

编码快乐!如果你有任何问题请留言。

 类似资料:
  • 本文向大家介绍C#检查指定对象是否存在于ArrayList集合中的方法,包括了C#检查指定对象是否存在于ArrayList集合中的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#检查指定对象是否存在于ArrayList集合中的方法。分享给大家供大家参考。具体分析如下: C#的ArrayList提供了一个专用的Contains方法来检测ArrayList是否包含指定的对象,返回值是一

  • 我有一个ArrayList,从ArrayList的末尾(即使用add(object)方法)以串行方式(即逐个)填充Integer类型的对象。每次我这样做,ArrayList中的其他对象都会左移一个索引。 在我的代码中,我想在ArrayList中找到一个随机对象的索引。我想避免使用indexOf方法,因为我有一个非常大的ArrayList,循环将花费大量时间。有什么解决办法吗?如何在某些数据结构中保

  • 在android中,我很难将对象的ArrayList保存到文件中。我希望能够读取这些对象,并对每个对象调用一个方法来获取它们的一个属性。这是对象类 } 在我的活动中,我接受输入并创建一个新的事务对象。然后将事务对象添加到ArrayList中。我想将ArrayList保存到一个文件中,并能够从其他活动访问ArrayList。在这个不同的活动中,我想访问并调用ArrayList中每个对象的,以创建一个

  • 本文向大家介绍C#查找对象在ArrayList中出现位置的方法,包括了C#查找对象在ArrayList中出现位置的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#查找对象在ArrayList中出现位置的方法。分享给大家供大家参考。具体分析如下: 我们可以通过IndexOf方法来查找对象在ArrayList中的位置 希望本文所述对大家的C#程序设计有所帮助。

  • 问题内容: 我有一个对象 obj 和一个类名 MyClass ,我可以使用instanceof来检查obj是否为MyClass类型,或者可以说obj.getClass()。equals(“ MyClass”)。所以我想知道是否还有其他检查对象类型的方法。 问题答案: 当心:如果您的对象是的子类,或者它实现了接口(也通常是您感兴趣的-如果您回想起“ IS A” OOP概念),则也返回true。 又见

  • 我有一个Typescript项目,我需要知道变量的值是否在对象的任何属性中。 这就是目标: 这是声明的变量: 以下是我检查它是否存在的步骤: 问题:做三次检查会在其他机器上运行三次 我需要知道的是,如何检查它是否存在,而不需要迭代对象,如果它不存在,只需操作一次