gpt4 book ai didi

java - 在多维数组中存储大量字符串

转载 作者:行者123 更新时间:2023-12-02 04:12:46 26 4
gpt4 key购买 nike

我正在进行一个项目,该项目将向用户推荐书籍,并且我计划使我的应用程序离线。我的问题是:可以在数组上存储大量字符串吗?准确地说是多维数组。我正打算这样做。

public bookLibrary() { 
public static String[][] books = {{bookID},
{bookTitle}, {bookGenre}, {bookPlot}, {etc}}
}

大家觉得怎么样?我应该继续这样下去吗?如果使用这个数据结构很慢,我还能用什么来存储数据?

最佳答案

如果您必须使用 Java...我建议您将图书数据封装在 Book 类中。您的图书馆可以将图书存储在 HashMap 中,以提供快速访问和可扩展性。事实上,您可以一起使用多个 HashMap,以便根据任意一个特征(例如作者或流派)找到该书。

Book 类可能如下所示:

class Book{

HashMap<String, String> features;

public Book(){
this.features= new HashMap<String,String>();
}

public HashMap<String, String> getFeatures() {
return features;
}

public String addFeature(String key,String value){
return features.put(key, value);
}

public void addFeatures(HashMap<String, String> newFeatures){
this.features.putAll(newFeatures);
}
}

您的Library类可以使用HashMap的HashMap:

HashMap<String,HashMap<String,Book>> library;

因此,要访问一本书,您可以调用

public Book getBook(String featureType,String key){
return library.get(featureType).get(key);
}

featureType 字符串指定您是否按作者、流派、描述等查找书籍。key 是特定作者的姓名。例如,要获取鲍勃·史密斯 (Bob Smith) 的书,您可以使用 getBook("author","Bob Smith");

您可以按如下方式将图书添加到图书馆:

    public void addBookToLibrary(Book book){
HashMap<String,String> bookFeatures = book.getFeatures();
for(String featureType : bookFeatures.keySet()){
HashMap<String,Book> libraryFeatureMap = library.get(featureType);
libraryFeatureMap.put(bookFeatures.get(featureType), book);
}
}

关于java - 在多维数组中存储大量字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33625124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com