请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

想请问一下老师关于flatMap的一个问题

图片描述
如图中,我如果不用flatMap的话,输出的是一个一维数组,有点纠结的是,老师在案例中讲的用flatMap是在List[List]情况下,用flatMap打平可以拿到int,用map的话是拿到List;根据输出的结果[Ljava.lang.String 请问我们在文件中输入"aa,bb,cc"是以String[]的形式存入List[String]中的吗??如果是以String[]的形式存入List[String]中,为什么不能用get取值呢?

正在回答

2回答

这个你可以把代码贴到控制台上,控制台更方便看结果的输出类型

0 回复 有任何疑惑可以回复我~
  • 提问者 KelvinChung #1
    对呀,我文件中就一行String类型的数据,当我想测试一下不用flatMap,就输入txt.map(_.split(",")).foreach(println),这一行的时候,输出的结果是[Ljava.lang.String;@294a12b5,就是不太懂为什么是这个结果,为什么是String数组类型的呢?
    回复 有任何疑惑可以回复我~ 2020-02-13 18:34:27
  • 提问者 KelvinChung #2
    我的理解是文件中只有一行数据的时候,就只有一个头节点:"aa,bb,cc"这样,那为什么直接用map(_.split(",")).拿不到里面的每一组单词呢?是因为里面是字符串数组所以要用flatMap打平吗??
    回复 有任何疑惑可以回复我~ 2020-02-13 18:36:55
  • Michael_PK 回复 提问者 KelvinChung #3
    你这个split后数据结构应该是数组,因为split返回值是数组类型,打印就是这对象的hashcode相关的东西。你把这代码贴控制台就非常明显观察出是什么类型的东西
    回复 有任何疑惑可以回复我~ 2020-02-13 18:38:05
Michael_PK 2020-02-13 18:31:15

文件中就直接一行string类型的数据就行了,然后再进行split

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信