数组与集合互相转化

package com.ray.util;

import java.util.ArrayList;
import java.util.List;

/**
 * 这个类的主要的作用是 实现一个list集合按照自己的方式变为String类型 
 * 同时能够把自己存入的string的字段变为一个集合
 * @author Administrator
 * @date 2017年4月16日
 */
public class ListToStringUtil {

	/**
	 * 集合变为自己想要的 a#b#c#d
	 * 
	 */
	public static String listToString(@SuppressWarnings("rawtypes") List list) {
		if (list.size() != 0) {
			StringBuffer buffer = new StringBuffer();
			if (list.size() == 1) {
				return list.get(0).toString();

			} else {
				buffer = buffer.append(list.get(0) + "#");
				// 循环遍历,拼接
				for (int i = 1; i < list.size() - 1; i++) {
					buffer.append(list.get(i) + "#");
				}
				buffer.append(list.get(list.size() - 1).toString());

				return buffer.toString();
			}

		}
		return null;

	}

	/**
	 * 对一串的 a#b#c#d 这样的字符串修改一个集合
	 * 
	 * @param string
	 * @return
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public static List stringToList(String str) {

		String string[] = str.split("#");
		List list = new ArrayList<>();
		for (int i = 0; i < string.length; i++) {
			list.add(string[i]);

		}

		return list;

	}

	/**
	 * 测试下上面的两个方法是否有效
	 *  测试通过
	 * @param args
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String[] args) {
		String str;
		List list = new ArrayList<>();
		// 测试的是否需要i小于1 ,2,3,9,10等试试
		for (int i = 0; i < 101; i++) {
			list.add(i);

		}
		str = ListToStringUtil.listToString(list);
		System.out.println("集合转化为string类型:\n" + str);

		System.out.println("==========string类型转化为集合类型开始==============");
        
		//再次new一个集合
		List list2=new ArrayList<>();
		list2=ListToStringUtil.stringToList(str);
		for (int i = 0; i < list2.size(); i++) {
			
			System.out.print(list2.get(i)+" ");
			
		}
		
		
	}

}


猜你喜欢

转载自lfc-jack.iteye.com/blog/2370729
今日推荐