1.
public static void mainString[] args) { // ArrayList类实现一个可增长的动态数组 List<String> list = new ArrayList<String>); // 插入元素 list.add"list1"); list.add"list2"); // 打印list的大小 System.out.printlnlist.size)); // 按索引移除元素 list.remove0); // 按对象移除元素 list.remove"list2"); // 打印list的大小 System.out.printlnlist.size)); // 清空list list.clear); }
View Code
2.linkedList
public static void mainString[] args) { // LinkedList类实现了链表,可初始化化为空或者已存在的集合 LinkedList<String> list = new LinkedList<String>); // 插入元素 list.add"list2"); list.add"list3"); // 向链表头插入数据 list.addFirst"list1"); // 向链表尾插入数据 list.addLast"list4"); for String str : list) { System.out.printlnstr); } // 获取链表头数据 System.out.println"链表头数据:" + list.getFirst)); // 获取链表尾数据 System.out.println"链表尾数据:" + list.getLast)); }
View Code
排序
public static void mainString[] args) { // 创建list List<Integer> list = new ArrayList<Integer>); // 插入元素 list.add2); list.add0); list.add3); list.add4); list.add1); Collections.sortlist); for int i : list) { System.out.printlni); } }
View Code
public static void mainString[] args) { ArrayList<String> list = new ArrayList<String>); list.add"一鸣惊人-Y"); list.add"人山人海-R"); list.add"海阔天空-H"); list.add"空前绝后-K"); list.add"后来居上-H"); Comparator<Object> cmp = Collator.getInstancejava.util.Locale.CHINA); Collections.sortlist, cmp); for String str : list) { System.out.printlnstr); } }
View Code
package net.xsoftlab.baike; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class TextList { public static void mainString[] args) { List<User> userlist = new ArrayList<User>); userlist.addnew User"Y - 易小星 ", 33)); userlist.addnew User"W - 王大锤", 33)); Comparator<User> cmp = new ComparatorUser); Collections.sortuserlist, cmp); for User user : userlist) { System.out.printlnuser.getName)); } } } class ComparatorUser implements Comparator<User> { @Override public int compareUser u1, User u2) { // 先按年龄排序 int flag = u1.getAge).compareTou2.getAge)); // 年龄相等比较姓名 if flag == 0) { return u1.getName).compareTou2.getName)); } else { return flag; } } } class User { private String name; private Integer age; public User) { super); } public UserString name, Integer age) { super); this.name = name; this.age = age; } public String getName) { return name; } public void setNameString name) { this.name = name; } public Integer getAge) { return age; } public void setAgeInteger age) { this.age = age; } }
View Code
遍历
public static void mainString[] args) { List<String> list = new ArrayList<String>); // 插入元素 list.add"list1"); list.add"list2"); list.add"list3"); System.out.println"第一种遍历方法 - >"); for String str : list) { System.out.printlnstr); } System.out.println"第二种遍历方法 - >"); for int i = 0; i < list.size); i++) { System.out.printlnlist.geti)); } System.out.println"第三种遍历方法 - >"); Iterator<String> iter = list.iterator); while iter.hasNext)) { System.out.printlniter.next)); } }
View Code
遍历时移除元素
package net.xsoftlab.baike; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class RemoveItemFromList { public static void mainString[] args) { List<String> list = new ArrayList<String>); // 插入元素 list.add"list1"); list.add"list2"); list.add"list2"); list.add"list3"); // 实例化新的list防止因传递地址而达不到测试效果。 remove1new ArrayList<String>list)); remove2new ArrayList<String>list)); remove2_1new ArrayList<String>list)); remove3new ArrayList<String>list)); } public static void remove1List<String> list) { System.out.print"第一种方法 - > "); try { for String str : list) { if str.equals"list2")) list.removestr); } } catch Exception e) { System.out.println"移除失败!"); } } public static void remove2List<String> list) { System.out.print"第二种方法 - > "); for int i = 0; i < list.size); i++) { String str = list.geti); if str.equals"list2")) list.removestr); } System.out.printlnlist); System.out.println"也有异常,可以用下面的方法避免。"); } public static void remove2_1List<String> list) { System.out.print"第二种方法修正 - > "); for int i = 0; i < list.size); i++) { String str = list.geti); if str.equals"list2")) { list.removestr); // 因移除了元素,位置发生偏移,需要重新对当前位置的元素进行判断。 i--; } } System.out.printlnlist); } public static void remove3List<String> list) { System.out.print"第三种方法 - > "); Iterator<String> iter = list.iterator); while iter.hasNext)) { String str = iter.next); if str.equals"list2")) iter.remove); } System.out.printlnlist); } }
View Code
map4中遍历
public static void mainString[] args) { Map<String, String> map = new HashMap<String, String>); map.put"1", "value1"); map.put"2", "value2"); map.put"3", "value3"); //第一种:普遍使用,二次取值 System.out.println"通过Map.keySet遍历key和value:"); for String key : map.keySet)) { System.out.println"key= "+ key + " and value= " + map.getkey)); } //第二种 System.out.println"通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet).iterator); while it.hasNext)) { Map.Entry<String, String> entry = it.next); System.out.println"key= " + entry.getKey) + " and value= " + entry.getValue)); } //第三种:推荐,尤其是容量大时 System.out.println"通过Map.entrySet遍历key和value"); for Map.Entry<String, String> entry : map.entrySet)) { System.out.println"key= " + entry.getKey) + " and value= " + entry.getValue)); } //第四种 System.out.println"通过Map.values)遍历所有的value,但不能遍历key"); for String v : map.values)) { System.out.println"value= " + v); } }
View Code
今天多一点积累,明天少一分烦恼