Java类集(List、Set、Map等)
2016-04-24 10:41
459 查看
类集(Collection)就是一个动态的对象数组。Java的类集框架使程序处理对象组的方法标准化。在Java 2出现之前,Java提供了一些专门的类如Dictionary、Vector、Stack和Properties去存储和操作对象组。尽管这些类非常有用,它们却缺少一个集中,统一的主题。因此例如说使用Vector的方法就会与使用Properties的方法不同。以前的专门的方法也没有被设计成易于扩展和能适应新的环境的形式。而类集解决了这些(以及其他的一些)问题。
import java.util.ListIterator; import java.util.Set; import java.util.TreeSet; //List是Collection的子接口,可以保存各个重复的元素 public class MyListSetDemo { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("hello"); list.add("world"); list.add("nihao"); list.add("nihao"); System.out.println(list); // 迭代输出:Iterator Iterator<String> ite1 = list.iterator(); while (ite1.hasNext()) { System.out.print(ite1.next() + "、"); } System.out.println(); // 双向迭代输出:ListIterator ListIterator<String> ite2 = list.listIterator(); while (ite2.hasNext()) { System.out.print(ite2.next() + "、"); } System.out.println(); while (ite2.hasPrevious()) { System.out.print(ite2.previous() + "、"); } System.out.println(); // foreach方法的输出 for (String s : list) { System.out.print(s + "、"); } System.out.println(); //List接口中能加入重复元素,List<String> list=new ArrayList<String>();方法不再赘述 //Set接口中不能加入重复元素 // HashSet 不重复无序 Set<String> mSet1 = new HashSet<String>(); mSet1.add("qq"); mSet1.add("qq"); mSet1.add("weixin"); mSet1.add("feixin"); System.out.println(mSet1); //////////// TreeSet 不重复有序///////////////// Set<String> mSet2 = new TreeSet<String>(); mSet2.add("qq"); mSet2.add("qq"); mSet2.add("weixin"); mSet2.add("feixin"); System.out.println(mSet2); } }
//简单的栈和队列 package MyClassCollection; import java.util.LinkedList; import java.util.Stack; public class StackDemo { public static void main(String[] args) { Stack<String> stack = new Stack<String>(); System.out.print(stack.push("A") + "、"); System.out.print(stack.push("B") + "、"); System.out.print(stack.push("C") + "、"); System.out.println(); System.out.print(stack.pop() + "、"); System.out.print(stack.pop() + "、"); System.out.print(stack.pop() + "、"); System.out.println(); LinkedList<String> sequence = new LinkedList<String>(); System.out.print(sequence.offer("A") + "、"); System.out.print(sequence.offer("B") + "、"); System.out.print(sequence.offer("C") + "、"); System.out.println(); System.out.print(sequence.pop() + "、"); System.out.print(sequence.pop() + "、"); System.out.print(sequence.pop() + "、"); } }
//Map专门用来保存<key,value>的内容 package MyClassCollection; import java.util.Collection; import java.util.HashMap; import java.util.IdentityHashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.WeakHashMap; public class MyMapDemo { public static void main(String args[]) { // Map的一些基本属性 Map<String, String> map = new HashMap<String, String>(); map.put("bj1", "bbbjjj1"); map.put("bj2", "bbbjjj2"); map.put("bj3", "bbbjjj3"); String val = map.get("bj1"); System.out.println("bj1= " + val); if (map.containsKey("bj1") && map.containsValue("bbbjjj1")) { System.out.print("bj1键存在 "); System.out.println("bbbjjj1值存在"); } // 键排序 Set<String> keys = map.keySet(); Iterator<String> ite1 = keys.iterator(); while (ite1.hasNext()) { System.out.print(ite1.next() + "、"); } System.out.println(); // 值排序 Collection<String> values = map.values(); Iterator<String> ite2 = values.iterator(); while (ite2.hasNext()) { System.out.print(ite2.next() + "、"); } System.out.println(); // TreeMap演示,默认排好序列 Map<String, String> treeMap = new TreeMap<String, String>(); treeMap.put("tree1", "ttteee1"); treeMap.put("tree5", "ttteee5"); treeMap.put("tree3", "ttteee3"); treeMap.put("tree3", "ttteee3"); System.out.println("TreeMap演示 " + treeMap); // WeakHashMap演示 Map<String, String> weakMap = new WeakHashMap<String, String>(); weakMap.put(new String("hello"), new String("你好")); weakMap.put(new String("ok"), new String("好的")); weakMap.put(new String("yes"), new String("是的")); weakMap.clear(); weakMap.put(new String("good"), new String("漂亮")); weakMap.put(new String("good"), new String("漂亮")); System.out.println("WeakHashMap演示 " + weakMap); Map<String, String> identityMap = new IdentityHashMap<String, String>(); identityMap.put(new String("hello"), new String("你好")); identityMap.put(new String("hello"), new String("你好")); identityMap.put(new String("yes"), new String("是的")); System.out.println("IdentityHashMap演示 " + identityMap); } }
相关文章推荐
- 站在大神肩膀上看RxJava
- 【转】Java 8十个lambda表达式案例
- 【转】Java 8十个lambda表达式案例
- java中的Iterator和Iterable 区别
- 20145311 《Java程序设计》第八周学习总结
- 20145315 《Java程序设计》第八周学习总结
- JAVA线程(二)
- 第一个超简单的hibernate
- java 内省机制(工厂模式再次解耦)
- java中判断今年是否是闰年
- Spring的AOP应用
- java中clone 方法的作用
- java基础(21)--java.io.Serializable浅析
- 《Java程序设计》第八周学习总结
- Java编程中“为了性能”需做的26件事
- java线程安全之静态变量、实例变量、局部变量
- js、java编码(乱码)问题
- java代码获取指定长度随机数
- java代码double保留指定位数
- hdoj 1089~1096 八道简单A+B问题 (JAVA)