Codificación usando la estructura de datos de matriz (II)

Codificación usando la estructura de datos de matriz (II)

definición de la matriz

		Student students[]=new Student[3];
		students[0]=new Student("张三",10);
		students[1]=new Student("李四",11);
		students[2]=new Student("王五",12);

            for(Student s:students){
			System.out.println(s);
	     	}
String[] abc = new String[] { "abc", "acd", "add" };
String[] abd = new String[] {"acd", "cd", "de"};

Otra manera de definir una matriz

int arr2[];
// 定义一个数组,并且静态初始化
int arr[]=new int[]{1,2,3};

La definición de matriz dinámica

	                Object[] pointX = null;
		        Object[] pointY = null;
			String sql1 = "select t.* from place t";
			List<IBean> points =query(sql1, covergeId);
			 pointX = new Object[points.size()];
			 pointY = new Object[points.size()];
			for(int j=0;j<points.size();j++){
			 pointX[j]=points.get(j).get("X");
			 pointY[j]=points.get(j).get("Y");
			}
String [] sqls = new String[sheet.getLastRowNum()];
condictionSql = "INSERT INTO "+templateTable+"("+paramkey.toString()+")  VALUES( "+paramval.toString()+")";
}
sqls[i-1] = condictionSql;

 

Métodos de matriz

java matriz de cadena se convierte

Arreglo en una cadena de caracteres de la siguiente manera:

char[] data =  {'a', 'b', 'd'};

String s = new String(data);

1,1 para el bucle

StringBuffer sb = new StringBuffer();

for(int i = 0; i < str.length;i++){

  sb.append(str[i]);

}

String s = sb.toString();

cadena 1,2 interceptación obtenida por el método de división array

String[] split = joinId.split(",");
String str = "0,1,2,3,4,5";
String[] arr = str.split(","); // 用,分割
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4, 5]
	@RequestMapping (value="/user/showUserList")
	public String showUserList(Model model,String ids){
		String[] idsArray = ids.split(",");
		if(ids!="") {
			StringBuffer str = new StringBuffer();
			for(int i=0;i<idsArray.length;i++) {
				User user = userService.getUser(idsArray[i]);
				if(null != user)
				{
					String name = user.getUserName();
					str.append(name+',');
				}
			}
			model.addAttribute("membersName", str);
		}
		if(ids=="") {
			model.addAttribute("membersName", "");
		}
		
		model.addAttribute("members", ids);
		return "select/user/showUserList";
	}

1.3 El uso de la matriz en una cadena unirse StringUtils método

String[] arr = { "0", "1", "2", "3", "4", "5" };
//数组转字符串 org.apache.commons.lang3.StringUtils
String str3 = StringUtils.join(arr); // 数组转字符串,其实使用的也是遍历
System.out.println(str3); // 012345
String str4 = StringUtils.join(arr, ","); // 数组转字符串(逗号分隔)(推荐)
System.out.println(str4); // 0,1,2,3,4,5

String.join () Método: string.join () es un nuevo método JDK8 (paquete sin plomo) se recomienda tipo matriz de cadenas, la matriz de caracteres a un empalmados empalmados juntos para formar una nueva cadena.

	                String location = glEmerg.getLOCATION();
			String[] str = location.split(",");
			String Xstr = str[0];
			String Ystr = str[1];
			String[] arr=new String[]{Xstr,Ystr};
			
			String newLocation = String.join(",",arr);

 

matrices Herramientas

Arrays.toString matrices y colecciones en una cadena

	public static void main(String[] args) {
		int arr[]={1,7,3,8,2};
		System.out.println(arr);
		System.out.println("以字符串形式输出数组:"+Arrays.toString(arr));
		Arrays.sort(arr); // 给数组排序
		System.out.println("排序后的数组:"+Arrays.toString(arr));
		System.out.println(Arrays.binarySearch(arr, 1));
		Arrays.fill(arr, 0); // 将指定内容填充到数组中
		System.out.println("填充数组后的字符串:"+Arrays.toString(arr));
		
	}

Utilice los ArrayUtils método toString

// 数组转字符串 org.apache.commons.lang3.ArrayUtils
String str2 = ArrayUtils.toString(arr, ","); // 数组转字符串(逗号分隔,首尾加大括号)
System.out.println(str2); // {0,1,2,3,4,5}

array Arrays.asList en una lista

añadir el parámetro se pasa como el elemento de lista actual en una tienda, incluso si se pasa una lista de sólo aumentará en otra lista actual de un elemento
addAll se pasa en una lista, todos los elementos de esta lista se añaden a la corriente lista, que es el número de elementos en la lista corriente aumentará el tamaño de la lista de entrada

List<String> members =  new ArrayList<String>(Arrays.asList(activity.getMembers().split(",")));
		members.addAll(orgUserIds);
		members = new ArrayList<>(new HashSet<>(joinMembers));
		if(CollectionUtils.isEmpty(members))
		{
			return "";
		}
		return String.join(",", members);

iterar

//普通的数组遍历方式
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}

//foreach方式
		for(int j:arr){
			System.out.println(j);
		}

                int arr[]=new int[3];
		arr[0]=1; // 给数组元素赋值
		arr[2]=6; 
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}

Colección de métodos de recorrido

String[] strings = {"A", "B", "C", "D"};  
Collection stringList = java.util.Arrays.asList(strings);  
/* 开始遍历 */  
for (Iterator itr = stringList.iterator(); itr.hasNext();) {  
Object str = itr.next();  
System.out.println(str);  
}  
/* 依次输出“A”、“B”、“C”、“D” */  

foreach manera de conseguir una gran variedad de

		String[] orgString = {"001001","001002","001003","001004","001005","001006"};
		List<PipeVO> rushCount = pipeMapper.showPipeList(vo);

		List<PipeVO> zeroString = new ArrayList<PipeVO>();
		for (String  code : orgString) {
			boolean hasCde = false;
         }

Otros métodos Arrays clase de utilidad

	public static void main(String[] args) {
		int arr[]={1,7,3,8,2};
		System.out.println(arr);
		System.out.println("以字符串形式输出数组:"+Arrays.toString(arr));
		Arrays.sort(arr); // 给数组排序
		System.out.println("排序后的数组:"+Arrays.toString(arr));
		System.out.println(Arrays.binarySearch(arr, 1));
		Arrays.fill(arr, 0); // 将指定内容填充到数组中
		System.out.println("填充数组后的字符串:"+Arrays.toString(arr));
		
	}

matriz bidimensional

/*int arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
		
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<arr[i].length;j++){
				System.out.print(arr[i][j]+" ");
			}
			System.out.println();
		}*/
		
		int [][]arr=new int[3][3];
		arr[1][2]=3;
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<arr[i].length;j++){
				System.out.print(arr[i][j]+" ");
			}
			System.out.println();
		}

 

array java contiene un juicio de valor

1, Java contiene una cadena de caracteres especiales a juzgar por envase

 String str = "abc";
        boolean status = str.contains("a");
        if(status){
            System.out.println("包含");
        }else{
            System.out.println("不包含");
        }

Se puede determinar o conjunto de matriz contiene la cadena de

array java en el método de la lista para determinar si la matriz contiene un elemento

import org.apache.commons.lang.StringUtils; 
String[] roleIdsArr = memberRoleIds.split(","); 
Arrays.asList(roleIdsArr).contains("5afd389c10174e21af1680dd9f79f049");

método de la matriz en Lista asList clase Uso Arrays () () recogida, reutilización contiene () método de determinar si existe un valor en el array

​
import org.apache.commons.lang.StringUtils; 
String memberRoleIds = userRole.getRoleId();
 String[] roleIdsArr = memberRoleIds.split(","); 
boolean containRoleId = Arrays.asList(roleIdsArr).contains("5afd389c10174e21af1680dd9f79f049");
 if(!containRoleId) {
}

​
	 String memberRoleIds = userRole.getRoleId();
	 String[] roleIdsArr = memberRoleIds.split(","); 
         String[] newRoleIdsArr = new String[roleIdsArr.length+1];
	 String memRolds = "";
	 boolean containRoleId = Arrays.asList(roleIdsArr).contains("5afd389c10174e");
	 if(!containRoleId) {
	for(int mm=0;mm<=roleIdsArr.length-1;mm++) {
		newRoleIdsArr[mm] =roleIdsArr[mm];
		 }										
 newRoleIdsArr[roleIdsArr.length]="5afd389c10174e21af1680dd9f79f049";
 memRolds = StringUtils.join(newRoleIdsArr, ","); 
 String pointMemRolds = "'"+memRolds+"'";
 upRoleSql = "UPDATE CT_USER SET ROLE_ID="+pointMemRolds+ "where ID_NUMBER="+pointIdNum;
 jdbcTemplate.update(upRoleSql);
 }
	public Map<String, List<String>> showPipeList(PipeVO vo)
	{
		
		Map<String, List<String>> maps = new HashMap<String, List<String>>();
		List<String> yearCovlist = new ArrayList<String>();
		List<String> orglist = new ArrayList<String>();
		String[] orgString = {"001001","001002","001003","001004","001005","001006"};
		List<PipeVO> rushCount = pipeMapper.showPipeList(vo);
		for (PipeVO pipeVO : rushCount) {
			BigDecimal yearCov = new BigDecimal("0");
			String counts = pipeVO.getRunUser();
			String orgs = pipeVO.getDepOrder();
			if(!Arrays.asList(orgString).contains(orgs)) {
				continue;
			}
			String dayCov = pipeVO.getDayCovRate();
			String eventCauseName = compareDic(orgs);
		    if(""!=eventCauseName&&(!eventCauseName.equals(""))) {
		    	if(null!=counts&&null!=dayCov) {
		    		 if(counts.equals("0")) {
		    			 continue;
		    		 }
					 BigDecimal num1 = new BigDecimal(counts);
					 BigDecimal num2 = new BigDecimal(dayCov);
					 yearCov = num2.divide(num1,2, BigDecimal.ROUND_HALF_UP); 
				}
		    }
			yearCovlist.add(eventCauseName);
			orglist.add(yearCov.toString());
		}

		maps.put("yearCovlist", yearCovlist);
		maps.put("orglist", orglist);
		return maps;
	}

2, java el método indexOf para encontrar la posición de una palabra en una cadena, pero se puede determinar si una cadena contiene un carácter.

		String str="sasdwewuiundmxcss";
		System.out.println("d在字符串str中第一次出现的索引位置:"+str.indexOf('d'));
		System.out.println("d在字符串str中第一次出现的索引位置,从索引5位置开始:"+str.indexOf('d',4));
 String str1 = "abcdefg";
        int result1 = str1.indexOf("a");
        if(result1 != -1){
            System.out.println("字符串str中包含子串“a”"+result1);
        }else{
            System.out.println("字符串str中不包含子串“a”"+result1);
        }

Usos específicos:

múltiples operaciones de eliminación de datos

js

	var ids = $("#id").val();
var url=Leopard.getContextPath() +"/deleteTczb1.act";
	var idstr = "";
	for(var i=0;i<ids.length;i++){
		idstr+=(","+ids[i])
	}
	var paramData={ids:idstr};
	getData(url,paramData);

fondo java

@RequestMapping("/deleteTczb")
	@ResponseBody
	public Boolean deleteCzb(HttpServletRequest request, HttpServletResponse response){
		String ids = request.getParameter("ids");
		String[] idArray = ids.replaceFirst(",", "").split(",");
		String sql = "delete from SY_TYZJKXCZB t where P_ID in(";
		for (String string : idArray) {
			sql+=(",?");
		}
		sql+=")";
		
		SqlUtil.getExecutor().execute(sql.replaceFirst(",", ""), idArray);
		return true;
	}

En muchos casos a través de Java cadena concatenación para StringBuffer

StringBuffer sql = new StringBuffer("select ID from TB where ID in (");
			StringBuffer temp = new StringBuffer();
			for (String ID : Id.split(",")) {
				temp.append(",?");
			}  
			sql.append(temp.toString().replaceFirst(",", ""));
			sql.append(")");

 

Publicados 370 artículos originales · ganado elogios 88 · vistas 290 000 +

Supongo que te gusta

Origin blog.csdn.net/qq_35029061/article/details/100117016
Recomendado
Clasificación