今天维护公司系统,发现如果插入数据库的字段过长会导致数据溢出。数据是存在set集合里面的转化为字符串后保存到数据库中。
下面是HashSet转化为ArrayList的代码
Set<String> set = new HashSet<String>();
for(int i=0;i<100;i++)
{
set.add(String.valueOf(i));
}
List<String> list = new ArrayList<String>();
list.addAll(set);
下面的函数是处理ArrayList
/**
*
* @param list 要拆分的集合
* @param size 指定的大小
* @return
*/
public static List<List<String>> getSplitList(List<String> list , int size)
{
List<List<String>> returnList = new ArrayList<List<String>>();
int listSize = list.size();
int num = listSize%size==0?listSize/size:(listSize/size+1);
int start = 0;
int end = 0;
for(int i=1;i<=num;i++)
{
start = (i-1)*size;
end = i*size>listSize?listSize:i*size;
System.out.println(start+":"+end);
returnList.add(list.subList(start, end));
}
return returnList;
}
微信公众号