加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 用于保存已解析CSV文件内容的数据结构

发布时间:2020-12-15 04:17:44 所属栏目:Java 来源:网络整理
导读:我试图找出用 Java解析csv文件的最佳方法.现在每行都有X条信息.例如,第一行最多可以包含5个字符串单词(用逗号分隔它们),而接下来的几行可能有3或6个或更多. 我的问题不是从文件中读取字符串.只是为了清楚.我的问题是什么数据结构最好保持每一行以及该行中的
我试图找出用 Java解析csv文件的最佳方法.现在每行都有X条信息.例如,第一行最多可以包含5个字符串单词(用逗号分隔它们),而接下来的几行可能有3或6个或更多.

我的问题不是从文件中读取字符串.只是为了清楚.我的问题是什么数据结构最好保持每一行以及该行中的每个单词?

起初我考虑使用2D数组,但问题是数组大小必须是静态的(第二个索引大小将包含每行中有多少个单词,这可能与行到行不同).

这是CSV文件的前几行:

0,MONEY
1,SELLING
2,DESIGNING
3,MAKING
DIRECTOR,3DENT95VGY,EBAD,SAGHAR,MALE,05/31/2011,null,10000,07/24/2011
3KEET95TGY,04/17/2012,120050
3LERT9RVGY,03/05/2013,132500
3MEFT95VGY,145205
DIRECTOR,XKQ84P6CDW,AGHA,ZAIN,FEMALE,06/06/2011,1,1000,01/25/2012
XK4P6CDW,09/28/2012,105000
XKQ8P6CW,130900
DIRECTOR,YGUSBQK377,AYOUB,GRAMPS,10/02/2001,12/17/2007,2,12000,01/15/2002

解决方法

您可以使用Map< Integer,List< String>>.键是csv文件中的行号,List是每行中的单词.

另外一点:您可能会经常使用List#get(int)方法.如果是这种情况,请不要使用链接列表.这是因为链表的get(int)是O(n).我认为ArrayList是你最好的选择.

编辑(基于AlexWien的观察):

在这种特定情况下,由于键是行号,因此产生连续的整数集,更好的数据结构可以是ArrayList< ArrayList< String>>.这将导致更快的密钥检索.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读