1.HashMap的使用
HashMap是通过键值对来存储的,是无序的
import java.util.HashMap; import java.util.Map; public class TestHashMap { public static void main(String[] args) { // 创建一个键的类型为integer类型,值的类型为String类型的Map; Map<Integer, String> map = new HashMap<Integer, String>(); // 将指定键值对添加到Map集合中 map.put(1, "张三"); map.put(2, "李四"); map.put(3, "王五"); map.put(4, "孙六"); System.out.println("返回指定键所对应的值:" + map.get(2)); System.out.println("返回此Map集合中包含的键的集合:" + map.keySet()); System.out.println("返回此Map集合中包含的值的集合:" + map.values()); System.out.println("键值对的个数:" + map.size()); System.out.println("是否包含键‘2‘对应的键值对:" + map.containsKey(2)); System.out.println("移除键为2的键值对:" + map.remove(2)); System.out.println("删除后集合中是否包含键2:" + map.containsKey(2)); System.out.println("输出所有的键值对:" + map); } }
2.Collections工具类的常用方法
/** * 1.Collections工具类的使用 * * @author vitelon * */ public class TestCollections { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("w"); list.add("o"); list.add("r"); list.add("l"); list.add("d"); System.out.println("排序前:" + list); // 按自然顺序查找 System.out.println("该集合中的最大值:" + Collections.max(list)); System.out.println("该集合中的最小值:" + Collections.min(list)); // 根据数据元素的自然顺序对集合进行升序排序 Collections.sort(list); System.out.println("sort升序排序后:" + list); // 使用二分查找集合,以获得指定数据元素的索引;查找前序保证被查找集合是自然有序排列的。 System.out.println("r在集合中的索引为(二分查找):" + Collections.binarySearch(list, "r")); // 对集合进行随机排序 Collections.shuffle(list); System.out.println("在shuffle(随机排序)排序后:" + list); Collections.reverse(list); // 反转集合的数据元素 System.out.println("在reverse(反转集合元素)排序后:" + list); // 在指定集合的指定两个位置处的两个数据元素进行交换 Collections.swap(list, 1, 4); System.out.println("索引为1、4的元素交换后:" + list); // 新的数据元素替换旧的数据元素 Collections.replaceAll(list, "w", "d"); System.out.println("把w都换成d后的结果:" + list); // 指定数据元素替换 Collections.fill(list, "s"); System.out.println("全部填充为s后的结果:" + list); } }
3.arrylist集合的简单运用
import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.TreeSet; public class TestAdd_Remove { public static void main(String[] args) { remove1(); remove2(); remove3(); } public static void remove1() { List<String> list = new ArrayList<String>(); list.add("a");// 0 list.add("b");// 1 list.add("c");// 2 list.add("d");// 3 list.add("e");// 4 for (int i = 0; i < list.size(); i++) { System.out.print("当i等于" + i + "时,"); System.out.print("集合的长度为:" + list.size() + ",移除的下标元素为:" + list.get(i)); list.remove(i); System.out.println(",此时集合元素为:" + list + ",此时i等于" + i); /* * 结果为b,d;移除的是下标为0,2,4;当i等于2时,移除后的集合的长度为2,而条件是小于集合的长度,所以循环结束 */ } System.out.println(); } public static void remove2() { List<String> list = new ArrayList<String>(); list.add("a");// 0 list.add("a");// 1 list.add("a");// 2 list.add("a");// 3 list.add("a");// 4 for (int i = 0; i < list.size(); i++) { System.out.print("当i等于" + i + "时,"); System.out.print("集合的长度为:" + list.size() + ",移除的元素下标为:" + list.indexOf("a")); list.remove("a"); System.out.println(",此时集合元素为:" + list + ",此时i等于" + i); /* * 结果为a,a;移除的是下标为0,1,2;当i等于2时,集合的长度为2,而条件是小于集合的长度,所以循环结束 */ } System.out.println(); } // 去掉重复元素,可从有序可重复的arrayliat集合转换成无序不重复的treeset集合 public static void remove3() { List<String> list = new ArrayList<String>(); Set<String> set = new TreeSet<String>(); list.add("a");// 0 list.add("b");// 1 list.add("a");// 2 list.add("d");// 3 list.add("e");// 4 // 可去掉重复 set.addAll(list); System.out.println(set); System.out.println(); } }
4.ArrayList的一些方法
/** * 1.有序可重复,查改快 */ import java.util.ArrayList; import java.util.List; public class TestArrayList { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("李冰冰"); list.add("阿悄"); list.add("蒋欣"); System.out.println("集合中的所有内容:" + list); System.out.println("在下标为 1 的位置添加 周杰伦:"); list.add(1, "周杰伦"); System.out.println("集合中的所有内容:" + list); System.out.println("获取下标为 2 的元素:" + list.get(2)); // 返回周杰伦在数据元素中下标索引值 System.out.println("索引 周杰伦 的下标位置:" + list.indexOf("周杰伦")); System.out.println("把下标为 1 的数据元素替换为 古天乐 :"); list.set(1, "古天乐"); System.out.println("集合中的所有内容:" + list); System.out.println("移除下标为 1 的数据元素:"); list.remove(1); System.out.println("集合中的所有内容:" + list); } }
5.ArrayList集合的运用
去掉有重复的集合
/** * 一个集合有重复的数据元素。把有重复的数据元素去掉再输出 */ import java.util.ArrayList; import java.util.Iterator; public class TestArrayList1 { public static void main(String[] args) { // 创建一个List接口ArrayList类的对象 ArrayList<String> list = new ArrayList<String>(); list.add("李冰冰"); list.add("周杰伦"); list.add("蒋欣"); list.add("阿悄"); list.add("周杰伦"); list.add("蒋欣"); System.out.print("显示原集合所有内容:"); System.out.println(list); System.out.println("***************"); getList(list); // 去掉重复的方法 } // 去掉重复数据元素的方法 public static ArrayList getList(ArrayList list) { // 创建一个新的容器al ArrayList newlist = new ArrayList(); // 创建一个迭代器it,遍历集合list Iterator it = list.iterator(); while (it.hasNext()) { // 记录obj集合中的每个元素 Object obj = it.next(); if (!newlist.contains(obj)) // 若obj改为it.next(),则会出错。因为没有记录obj的元素.比较的是地址 { newlist.add(obj); } } System.out.print("显示去掉重复数据元素的集合的内容:"); System.out.println(newlist); return newlist; } }
6.LinkeList的使用
import java.util.LinkedList; public class TestLinkeList { public static void main(String[] args) { LinkedList<String> link = new LinkedList<String>(); link.add("李冰冰01"); link.add("李冰冰02"); link.add("李冰冰03"); System.out.println("集合中的所有内容:" + link); System.out.println("在集合开头位置添加 周杰伦:"); link.addFirst("周杰伦"); System.out.println("集合中的所有内容:" + link); System.out.println("在集合结尾位置添加 周杰伦:"); link.addLast("周杰伦"); System.out.println("集合中的所有内容:" + link); System.out.println("获取集合第一个数据元素:" + link.getFirst()); System.out.println("在集合最后一个数据元素:" + link.getLast()); System.out.println("移除并返回集合第一个数据元素:" + link.removeFirst()); System.out.println("集合中的所有内容:" + link); System.out.println("移除并返回集合最后一个数据元素:" + link.removeLast()); System.out.println("集合中的所有内容:" + link); } }
时间: 2024-10-10 09:16:51