List<String> getOrder = dataSave.getDataList("orderList");
ArrayList<String> newOrderList = new ArrayList<>();
//存在则添加新的到第一个位置
if (getOrder != null && getOrder.size() > 0) {
newOrderList.addAll(getOrder);
if (!isExitOrderData(getOrder, orderId)) {
newOrderList.add(0, orderId);
}
} else {
//不存在则直接添加
newOrderList.add(orderId);
}
dataSave.setDataList("orderList", newOrderList);
//去重
ArrayList<String> idList = removeDuplicate(newOrderList);
String转List<String>工具类
/**
* create by AMOS
* on 2021/11/12
* explain${String转List工具类}
*/
public class ListDataSave {
private SharedPreferences preferences;
private SharedPreferences.Editor editor;
public ListDataSave(Context mContext, String preferenceName) {
preferences = mContext.getSharedPreferences(preferenceName, Context.MODE_PRIVATE);
editor = preferences.edit();
}
/**
* 保存List
*
* @param tag
* @param datalist
*/
public <T> void setDataList(String tag, List<T> datalist) {
if (null == datalist || datalist.size() <= 0) {
return;
}
Gson gson = new Gson();
//转换成json数据,再保存
String strJson = gson.toJson(datalist);
editor.clear();
editor.putString(tag, strJson);
editor.commit();
}
/**
* 获取List
*
* @param tag
* @return
*/
public <T> List<T> getDataList(String tag) {
List<T> datalist = new ArrayList<T>();
String strJson = preferences.getString(tag, null);
if (null == strJson) {
return datalist;
}
Gson gson = new Gson();
datalist = gson.fromJson(strJson, new TypeToken<List<T>>() {
}.getType());
return datalist;
}
}
List<String去重
// 列表去重
private ArrayList<String> removeDuplicate(ArrayList<String> list) {
LinkedHashSet set = new LinkedHashSet(list);
list.clear();
list.addAll(set);
return list;
}
// 是否存在ID相同, 存在返回true, 不存在則返回false
private boolean isExitOrderData(List<String> oldData, String newOrder) {
boolean isExitHistoryData = false;
for (String historyBean : oldData) {
if (TextUtils.equals(historyBean, newOrder)) {
isExitHistoryData = true;
break;
}
}
return isExitHistoryData;
}