关于数组转入list集合删除连续重复的问题
本帖最后由 fulijung 于 2013-11-24 15:37:25 编辑
我这里的意思是只有两个元素相邻并相同才算重复,如果两个元素相同但没有挨在一起就不算重复,
比如下面例子,红颜色的两个与绿色的两个属性相同但不相邻不算重复。蓝色的三个与黑色的三个
属性相同但相邻挨在一起所以算重复。
删除处理后只保留第一次出现的元素如下所示:
文件是以BufferedReader的 reader.readLine()方法先读出来放入数组,然后再根据设备屏幕要显示显示多少行,把数组放入list,在屏幕上画条形图的,欢迎大家出谋划策,不胜感激
另外提醒大家一下回帖时输入“股 票”字样的时候中间要留空格,不然回帖会提示字符非法。郁闷吖!
我又发了一个帖子在这里,麻烦大家过去看看好吗?链接是:http://bbs.csdn.net/posts/396163680
日期 开盘 收盘
09/23/2013, 2192.23 ,2198.11
09/24/2013, 2219.47 ,2219.54
09/25/2013, 2192.23 ,2198.11
09/26/2013, 2219.47 ,2219.54
09/27/2013, 2150.96 ,2165.78
09/28/2013, 2150.96 ,2165.78
09/29/2013, 2150.96 ,2165.78
09/30/2013, 2167.73 ,2176.30
10/01/2013, 2167.73 ,2176.30
10/02/2013, 2167.73 ,2176.30
上面的数据处理后要求变成下面这样:
日期 开盘 收盘
09/23/2013, 2192.23 ,2198.11
09/24/2013, 2219.47 ,2219.54
09/25/2013, 2192.23 ,2198.11
09/26/2013, 2219.47 ,2219.54
09/27/2013, 2150.96 ,2165.78 这里要求只剩下第一次出现的日期九月27日,而28日与29日删除。
09/30/2013, 2167.73 ,2176.30 这里要求只剩下
第一次出现的日期九月30日,而十月1日与十月2日删除。
大家明白了吗,谢谢回复
小弟最近在开发股 票软件时,从网上下载股 票原始文件时有个删除重复的方法一直想不出来。
原始文件是c s v或t x t的文件,格式如下:分行读取,每行又以逗号分割成交易日期,开盘价,
收盘价三个属性。本来周六周日与节假日是不交易的,原始数据却是把周六周日与节假日之前的
一天的开盘收盘价, 顺延下去填充到非交易日里,这样就造成了重复,意思就是所有非交易日里
的开盘与收盘价跟前一天是相同的。这就造成了一个问题,如何删除这些重复的非交易日与数据,
并且还要保持日期先后顺序不变? 我用数组去重复的一般方法不行,这样会把不相邻的重复也删除了。
我这里如果日期不相邻就不算重复。就像下面 09/23/2013日与09/25/2013日都是2199.36,2223.07但
两个日期不相邻,不算重复。
处理后如下所示:看左边与 右边的对照。我的意思是可以不用直接处理原始文件,但读取的时候
要按要按处理后的格式读出来,后面我把我的源代码贴出来(还有一个数据的源文件附件)
等待大家帮忙解决。
日期 开盘 收盘(逗号分割) 日期 开盘 收盘(逗号分割)
09/23/2013,2199.36,2223.07 09/23/2013,2199.36,2223.07
09/24/2013,2219.47,2219.54 09/24/2013,2219.47,2219.54
09/25/2013,2199.36,2223.07 09/25/2013,2199.36,2223.07
09/26/2013,2192.23,2192.23 09/26/2013,2192.23,2192.23
09/27/2013,2150.96,2165.78 09/27/2013,2150.96,2165.78
09/28/2013,2150.96,2165.78 这两天是周六日要删除,这两天
09/29/2013,2150.96,2165.78 的价格与前面相邻的周五相同
09/30/2013,2167.73,2176.30 09/30/2013,2167.73,2176.30
10/01/2013,2167.73,2176.30 这七天是长假日也要删除,这
10/02/2013,2167.73,2176.30 七天与前面相邻的09/30/2013
10/03/2013,2167.73,2176.30 日价格相同
10/04/2013,2167.73,2176.30
10/05/2013,2167.73,2176.30