java中ArrayList怎么分别截取逗号前后的字段,并附上下标?

单色数据 发布于 2013/07/24 12:46
阅读 2K+
收藏 1

如题。上具体代码:

ArrayList<String> product = new  ArrayList<String>();
product.add("productId,产品ID");
product.add("productCode,产品编码");
product.add("productName,产品名称");
product.add("specification,规格");


传到后台以后,想把productId和产品ID分离出来,分别作为一张表的值和列名,求大神指教啊,在线等!

加载中
0
依依_梦

可以选择在后台遍历时使用 String reg=","匹配获取到前后二个数据,在将其放到一个map中,在后面就可以将map中的数据插入了

0
oldfeel
oldfeel
package test_java;

import java.util.ArrayList;

public class test {
	public static void main(String args[]) {
		ArrayList<String> product = new ArrayList<String>();
		product.add("productId,产品ID");
		product.add("productCode,产品编码");
		product.add("productName,产品名称");
		product.add("specification,规格");

		ArrayList<ItemProdect> list = new ArrayList<ItemProdect>();
		ItemProdect item = new ItemProdect();
		for (int i = 0; i < product.size(); i++) {
			String[] contents = product.get(i).split(",");
			if (contents[0].equals("prodectId")) {
				item.productId = contents[1];
			} else if (contents[0].equals("productCode")) {
				item.productCode = contents[1];
			} else if (contents[0].equals("productName")) {
				item.productName = contents[1];

			} else if (contents[0].equals("specification")) {
				item.specification = contents[1];
			}
		}
		list.add(item);
	}

	static class ItemProdect {
		public String productId;
		public String productCode;
		public String productName;
		public String specification;
	}
}
单色数据
单色数据
大家都想复杂了~
0
程序猿付显
程序猿付显

写了一段代码,看看

package src.oschina;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class oschina_test {

	private static ArrayList<String> key;

	/**
	 * @author 程序猿付显
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		ArrayList<String> product = new ArrayList<String>();
		product.add("productId,产品ID");
		product.add("productCode,产品编码");
		product.add("productName,产品名称");
		product.add("specification,规格");

		key = new ArrayList<String>();
		Map<String, String> map = getMap(product);
		//
		for (String string : key) {
			System.out.println(string + ":" + map.get(string));
		}

	}

	private static Map<String, String> getMap(ArrayList<String> product)
			throws Exception {
		// 获取string
		String str = "";
		Map<String, String> map = new HashMap<String, String>();
		for (int i = 0; i < product.size(); i++) {
			str = product.get(i);
			if (str.contains(",")) {
				// 分割string
				String[] strs = str.split(",");
				if (strs.length == 2) {
					key.add(strs[1]);
					map.put(strs[1], strs[0]);
				} else {
					throw new Exception("string is not valid");
				}
			} else {
				throw new Exception("string is not valid missing ','");
			}
		}
		return map;
	}

}

程序猿付显
程序猿付显
回复 @乱步 : 把你的代码也晒出来看看,学习学习
单色数据
单色数据
你的方法和我差不多,用split,貌似我的更简洁点
0
C
ChineHE
我觉得直接用json的方式传输比较方便,解析也简单,这种硬编码的字符串分割表示很蛋疼
单色数据
单色数据
有没有具体代码啊?
0
Nice_
Nice_
为啥不用HashMap
Nice_
Nice_
回复 @乱步 : HashMap<实体类对象,String[存放中文名称]> 感觉这样可以- -我是新手的说。
单色数据
单色数据
用的就是hashmap,然后用split分割~
返回顶部
顶部