1. java的集合
一、Set集合,其主要实现类有HashSet、TreeSet。存放对象的引用,不允许有重复对象。
通过java的equals()方法判别。如果有特殊需求须重载equals()方法。
1、HashSet(),调用对象的hashCode()方法,获得哈希码,然后再集合中计算存放对象的位置。通过比较哈希码与equals()方法来判别是否重复。所以,重载了equals()方法同时也要重载hashCode()方法。
2、TreeSet(),继承ShortedSet接口,能够对集合中对象排序。默认排序方式是自然排序,但该方式只能对实现了Comparable接口的对象排序,java中对Integer、Byte、Double、Character、String等数值型和字符型对象都实现了该接口。
如果有特殊排序,须重载该接口下的compareTo()方法或通过Comparator接口的实现类构造集合。
二、List集合,其主要实现类有LinkedList、ArrayList,前者实现了链表结构,后者可代表大小可变的数组。List的特点是能够以线性方式储蓄对象,并允许存放重复对象。List能够利用Collections类的静态方法sort排序。sort(List list)自然排序;sort(List listm,Comparator comparator)客户化排序。
三、Map集合,其主要实现类有HashMap、TreeMap。Map对值没有唯一性要求,对健要求唯一,如果加入已有的健,原有的值对象将被覆盖。HashMap类按照哈希算法来存取键对象,可以重载equals()、hashCode()方法来比较键,但是两者必须一致。TreeMap,可自然排序,也可通过传递Comparator的实现类构造TreeMap。
2. java如何用list map集合写ATM系统
你首先要了解什么是Map,可以理解为Map是一堆key和value的映射集合(或者说一堆键值对的集合)。
List list = new ArrayList(); Map map = new HashMap(); list.add("a"); list.add("c"); list.add("b"); for(int i =0;i List list = new ArrayList(); Map map = new HashMap()。 集合和数组比较像,但是有很大区别 数组的长度在初始化时时定下来的,不可变了,那么以后如果项目需求改变,原本需要10个学生信息,现在要20个,那怎么办? 所以就引出了集合 集合的最根上的接口是collection,其子接口有list和set,区别你自己网上查吧 集合你就当做和数组差不多就好了,但是你可以不需要定义它的长度,你想什么时候往里面加元素,删除元素都可以 iterator是一个类,用于迭代集合里面元素用的,他的方法有next()就是看看你集合里下一个没元素,还有hasNext()是判断集合里有没有元素了 集合就相当于你午饭的饭碗 Collection c=new HashSet(); // 我要一个大碗。 Collection c=new HashSet(); // 我要一个只能装米饭的大碗,(不能装菜, 也不能装沙子); 回到你的问题, aaa,bbb,ccc 相当于饭碗里装的东西, 比如 aaa类型为米饭, bbb 类型为菜, ccc类型为沙子(就是喜欢吃带沙子的米。.). Collection c=new HashSet(); // 你要一个大碗.. 可以装任何东西的大碗. 相当于 Collection c=new HashSet();// 你要一个大碗.. 只要是东西就能放进去的大碗.. 你程序写的是a b c 都是String类型, 其实你可以往里放数字, 枚举 等其他的。 abc 你传递进去之前是字符类型, it.next() 拿出来的是object , 然后你通过 (String)强制转换成了String而已. c 对外界来说它是Collection 实际上是HashSet . 就相当于 你对别人说 我吃的是菜, 但是你自己知道你吃的是豆芽菜. (别人不知道你吃的是豆芽菜)3. 请问JAVA中的集合是什么
4. java集合