2016-09-30 86 views
-1

我有一个包含某些日期的ArrayList。 我想将它保存到用户的存储空间以便以后使用。 这里的代码,我已经试过:使用SharedPreferences保存包含重复值的ArrayList

ArrayList<String> dates = new ArrayList<>(); 
dates.add("1 شهریور 1395"); 
dates.add("1 شهریور 1395"); 
dates.add("2 شهریور 1395"); 
dates.add("2 شهریور 1395"); 
SharedPreferences preferences; 
SharedPreferences.Editor editor; 
preferences = getPreferences(Context.MODE_PRIVATE); 
editor = preferences.edit(); 
Set<String> dateSet = new Set(dates); 
editor.putStringSet(dateSet); 

但是当我打电话dateSet.size()以及它是正常的,它返回2 ...不是4
我怎么能救我dates不减少它的大小?

+0

@Andy那我该怎么保存在'sharedPreferences' ArrayList中? – Skillson

+0

在google上搜索你的评论内容,你会发现很多有用的答案,祝你好运 –

+1

你的日期是字符串。你的字符串是1,1,2,2。当事物被添加到Set时,一个集合调用.equals方法来查看对象是否已经在集合中。这就是为什么列表有4个条目,而Set仅有2个:有两个1和两个2,在插入时使Set过滤器为1和2。 –

回答