java list集合
1 package test1; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class test_1 { 7 // list 的详细使用 8 public static void main(String[] args) { 9 // 添加 10 List<String> person = new ArrayList<>(); 11 person.add("jackie"); 12 person.add("peter"); 13 person.add("annie"); 14 person.add("martin"); 15 person.add("marry"); 16 // 删除 17 person.remove(3); 18 person.remove("marry"); 19 // 获取 20 String per = ""; 21 per = person.get(1); 22 System.out.println(per); 23 24 for (int i = 0; i < person.size(); i++) { 25 System.out.println(person.get(i)); 26 } 27 28 // 是否包含某个元素----fruits.contains(String str) 29 List<String> fruits = new ArrayList<>(); 30 fruits.add("苹果"); 31 fruits.add("香蕉"); 32 fruits.add("桃子"); 33 // for循环遍历list 34 for (String str : fruits) { 35 System.out.println(str); 36 } 37 String appleString = "苹果"; 38 System.out.println("fruits中是否包含苹果:" + fruits.contains(appleString)); // true 39 // or 40 // false 41 42 // 根据索引将元素数值改变(替换) 43 String a = "白龙马", b = "沙和尚", c = "八戒", d = "唐僧", e = "悟空"; 44 List<String> people = new ArrayList<>(); 45 people.add(a); 46 people.add(b); 47 people.add(c); 48 // 将d唐僧放到list中索引为0的位置,替换a白龙马 49 people.set(0, d); 50 // 将e悟空放到list中索引为1的位置,原来位置的b沙和尚后移一位 51 people.add(1, e); 52 for (String str : people) { 53 System.out.println(str); 54 } 55 56 // list中查看(判断)元素的索引 57 List<String> names = new ArrayList<>(); 58 names.add("刘备"); 59 names.add("关羽"); 60 names.add("张飞"); 61 names.add("刘备"); 62 names.add("张飞"); 63 System.out.println(names.indexOf("刘备")); 64 System.out.println(names.lastIndexOf("刘备")); 65 66 // 根据元素索引位置进行的判断 67 if (names.indexOf("刘备") == 0) { 68 System.out.println("刘备在这里"); 69 } else if (names.lastIndexOf("刘备") == 3) { 70 System.out.println("刘备在那里"); 71 } else { 72 System.out.println("刘备到底在哪里?"); 73 } 74 75 // 利用list中索引位置重新生成一个新的list(截取集合) 76 List<String> phone = new ArrayList<>(); 77 phone.add("三星"); 78 phone.add("苹果"); 79 phone.add("锤子"); 80 phone.add("华为"); 81 phone.add("小米"); 82 // 原list进行遍历 83 for (String pho : phone) { 84 System.out.println(pho); 85 } 86 // 生成新list 87 phone = phone.subList(1, 4); // .subList(fromIndex, toIndex) 88 // 利用索引1-4的对象重新生成一个list,但是不包含索引为4的元素,4-1=3 89 for (int i = 0; i < phone.size(); i++) { 90 // 该方法得到list中的元素数的和 91 System.out.println("新的list包含的元素是" + phone.get(i)); 92 } 93 94 // 对比两个list中的所有元素 95 // 两个相等对象的equals方法一定为true 96 if (person.equals(fruits)) { 97 System.out.println("两个list中的所有元素相同"); 98 } else { 99 System.out.println("两个list中的所有元素不一样"); 100 } 101 // 但两个hashcode相等的对象不一定是相等的对象 102 if (person.hashCode() == fruits.hashCode()) { 103 System.out.println("我们相同"); 104 } else { 105 System.out.println("我们不一样"); 106 } 107 108 // 判断list是否为空 109 if (person.isEmpty()) { 110 System.out.println("空的"); 111 } else { 112 System.out.println("不是空的"); 113 } 114 115 // 返回Iterator集合对象 116 System.out.println("返回Iterator集合对象:" + person.iterator()); 117 118 // 将集合转换为字符串 119 String liString = ""; 120 liString = person.toString(); 121 System.out.println("将集合转换为字符串:" + liString); 122 123 // 将集合转换为数组,默认类型 124 System.out.println("将集合转换为数组:" + person.toArray()); 125 126 // 将集合转换为指定类型(友好的处理) 127 // 1.默认类型 128 List<Object> listsStrings = new ArrayList<>(); 129 for (int i = 0; i < person.size(); i++) { 130 listsStrings.add(person.get(i)); 131 } 132 // 2.指定类型 133 List<StringBuffer> lst = new ArrayList<>(); 134 for (String string : person) { 135 lst.add(StringBuffer(string)); 136 } 137 138 } 139 140 private static StringBuffer StringBuffer(String string) { 141 return null; 142 } 143 144 }