java Arrays数组

  需要导入的包:

import java.util.Arrays;

UpdateTime--2017年3月31日17:49:53 

(一)数据格式

[aa, bb, cc]

(二)初始化

// 方法一
String[] str = new String[3];//初始化并声明长度(通常使用)
// 方法二
String[] str2 = new String[]{"aa", "bb", "cc"};//new完直接初始化
// 方法三
String[] str3 = {"aa", "bb", "cc"};//不new,直接初始化

(三)常用操作

  2.3.1 增、改、删

  增:只能指定元素下标进行添加;

  改:指定元素下标进行修改;

  删:指定元素下标的值为null

  举例:

String[] str = new String[3];//初始化并声明长度(通常使用)
str[0] = "aa";//增加
str[1] = "bb";
str[1] = "dd";//修改
str[2] = "cc";
str[2] = null;//删除

  2.3.2 迭代(遍历)数组(查)

/**
 * 方法一:使用forEach遍历(推荐使用)
 */
for (String string : str) {
    System.out.println(string);
}
/**
 * 使用for循环
 */
for (int i = 0; i < str.length; i++) {
    System.out.println(str[i]);
}

(四)其它用法

(五)格式转换

  2.5.1 数组转换成json代码(Arrays-->JSONArray)

boolean[] boolArray = newboolean[] { true, false, true };
JSONArray jsonArray1 =JSONArray.fromObject(boolArray);

  UpdateTime--2017年12月6日16:04:23

  2.5.2 数组转字符串(Arrays-->String)

String[] arrayStr = {"aa", "bb", "cc"};
// 错误实现方式:输出的是内存地址
System.out.println(arrayStr);// [Ljava.lang.String;@53fb57
System.out.println(arrayStr.toString());// [Ljava.lang.String;@53fb57
// 正确实现方式
System.out.println(Arrays.toString(arrayStr));// [aa, bb, cc]

  说明:输出数组内容同样需要使用Arrays.toString(array)方法实现    

  20200902

  数组转list

  方式一:

String[] array = {      "111" ,      "222" ,      "333" };
List list = Arrays.asList(array);
// list.add("444");
list.remove(      0 );  

  如上图所示,不可进行新增或删除元素的操作。

  Arrays.asList(array),返回的List是具有固定长度的私有静态内部类java.util.Arrays.ArrayList,
  所以,就报错:不支持的操作异常。

  方式二:

String[] array = {      "111" ,      "222" ,      "333" };
List list =       new ArrayList<>(Arrays.asList(array));
list.add(      "444" );
list.remove(      0 );
System.out.println(list);

  流程:array-->java.util.Arrays.List-->java.util.ArrayList

  注意:new ArrayList(ArrayList),调用的并不是初始化大小那个方法,调用的是:

  将集合转成ArrayList

2022年7月15日16:55:42   

初始化成NULL

String[] strs = null;

初始化,长度设为0

String[] strs = new String[0];

目的:不让for循环执行。

// 病理文件名
String[] FILE_NAMEs = WebUtils.getParameterValues("FILE_NAME");
if (null == FILE_NAMEs) FILE_NAMEs = new String[0];
for (int i = 0; i < FILE_NAMEs.length; i++) {
    paramsMap.clear();
    paramsMap.put("DETAILINFO_ID", DETAILINFO_ID);
    paramsMap.put("FILE_NAME", FILE_NAMEs[i]);
    paramsMap.put("FILE_PATH", FILE_PATHs[i]);
    paramsMap.put("FILE_TYPE", FILE_TYPEs[i]);
    // 插入文件表
    daoBL_DETAIL_FILE.insertBL_DETAIL_FILE(paramsMap);
}

被split的字符串,数组大小至少为1,即使数组元素值为空

String[] strs = "".split(",");

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

posted @ 2017-12-06 10:54  Marydon  阅读(643)  评论(0编辑  收藏  举报