繁体   English   中英

对于CSV文件中的歌曲数据(标题,艺术家,节奏,流派),哪种数据结构更有效? HashMap或ArrayList?

[英]Which is a more efficient data structure for song data (Title, artist, tempo, genre) from a CSV file? HashMap or ArrayList?

我正在尝试建立一个简单的音乐数据库,该数据库将根据歌曲的节奏和流派生成一个播放列表。 但是,我一直在尝试确定用于解析CSV文件的最佳数据结构。

如果使用ArrayList,则将创建Song类,并且ArrayList将成为我的音乐数据库。 歌曲班将为标题艺术家Tempo和Genre提供吸气剂和吸气剂。 我将通过使用条件减少ArrayList的内容来获得最终的播放列表(如果速度至少不是某个数字,等等)

如果使用HashMap,则将键设置为pair,将值设置为pair(因此为HashMap <,>)。

组织此信息的最有效方法是什么?

这取决于该数据库将包含多少数据以及将搜索哪些字段。 我认为最通用的方法是数据库本身的列表,其中通过隐式ID(可能是列表中的索引)附加和删除项(可能标记为删除)。

然后,出于性能原因,您可能需要保留某种形式的索引。 实际数据库中使用的数据结构是树,但是您也可以对每个字段使用有序列表,并执行二进制搜索以使其简单。

另外,请考虑对于Java,有许多数据库(Derby,H2)非常小,轻巧,可以在进程内运行并具有SQL接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM