java - 添加和删​​除有序 Arraylist

标签 java arrays arraylist

我需要根据对象内部的属性将对象添加到有序的 ArrayList。我知道如何使用 .add 方法添加对象,但我不知道如何使用 compareTo() 方法为它搜索正确的位置。如果对象包含某个字符串,我还需要从 ArrayList 中删除一个对象,但我无法弄清楚如何从 ArrayList 访问对象属性。

房地产经纪人对象

/**
 * Constructor for Realtor object using parameter
 * @param readData - array of data from line
 */ 
public Realtor(String[]readData){
    licenseNumber = readData[2];
    firstName = readData[3];
    lastName = readData[4];
    phoneNumber = readData[5];
    commission = Double.parseDouble(readData[6]);
}

RealtorLogImpl

public class RealtorLogImpl {

    private ArrayList<Realtor> realtorList;

     /**
     * Add Realtor object to ordered list
     * @param obj - Realtor object
     */
    public void add(Realtor obj){

       //needs to be added into correct place depending on Realtor licenseNumber
        realtorList.add(obj);
    }

    /**
     * Delete Realtor object from list if license matches
     * and return true if successful
     * @param license
     * @return 
     */
    public boolean remove (String license){
      //need to remove Realtor with specific licenseNumber and return true if successful
    }

最佳答案

我假设您使用的是 java 8。其中一些内容尚未在 java 7 中实现,因此请记住这一点。

首先,要删除我建议使用 removeif() method 的项目在数组列表上。这需要一个 lambda 表达式,它可能类似于 x -> x.getString().equals("someString")

其次,您可以将对象添加到数组中,然后简单地 sort之后的数组。您只需要编写一个比较器来对其进行排序。

关于java - 添加和删​​除有序 Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101773/

相关文章:

java - 使用 spring-cloud-config-client 时如何配置自定义 RestTemplate?

java - 内部类方法访问父方法的变量

java - Java 中的泛型类型推断

c# - 如何在 C# 中创建锯齿状数组?

c# - 如何从数组列表中获取数据

java - 根据另一个字符串数组的值从一个数组中仅提取某些对象

java - 从给定索引处将 ArrayList 添加到另一个 ArrayList

java - 使 AJAX 应用程序可抓取?如何在 Google App Engine 上构建一个简单的网络服务来生成 HTML 快照?

arrays - 使用 Mustache.Js 渲染简单数组

python - Numpy数组内存问题