黑马程序员------集合
来源:互联网 发布:软件发票备注栏规定 编辑:程序博客网 时间:2024/06/05 14:44
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
1、集合概念
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作。
就对对象进行存储,集合就是存储对象。
集合Collection两大子类接口List和Set
2、共性方法:
创建:Arraylist al=new Arraylist();
添加:al.add();向集合添加元素。
获取:al.size();获取集合元素的个数。
打印:sap(al);
删除:al.remove();去除指定元素。
al.clear();清除集合中的所用元素。
判断:al.contains();判断是否包含指定元素。
al.isEmpty();判断集合元素是否为空。
其他:al.retainAll();取两集合的交集,如果没有交集,则返回空。
3、迭代器
迭代器就是集合的取出元素的方式。
格式:Iterator it=al.iterator();
while(it.hasNext())
{
it.next();
}
4、list集合的共性方法
list集合元素是有序的,可以重复;
Set集合元素是无序的,不可以重复。
增加:add();在指定位置添加指定一个或多个元素。
删除:remove();删除指定位置的元素。
修改:set();将指定位置的元素用指定元素修改掉。
查找:get();查找指定位置的元素。
获取:sublist();获取指定位置之间的元素。
5、Listiterator
listiterator是Iterator的子接口,是List集合的特有方法。
在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生异常。
所以,在迭代时,只能用迭代器的方法操作元素,又因iterator的方法有限,需使用特有迭代器。
6、linkedList
特有方法:addFirst,addLast
getFirst,getLast
removeFirst,removeLast
1.6版本后的方法是:offerFirst,offerLast
peekFirst,peekLast
pollFirst,pollLast
7、HashSet
HashSet存储自定义对象:
去除相同元素,如果元素的HashCode相同,才会判断equals方法是否为true。
HashSet判断和删除的依据是元素的HashCode方法和equals方法。
8、TreeSet
TreeSet可以对集合Set中的元素排序。
①、TreeSet排序的第一种方式:让元素自身具备比较性,元素需要实现Comparable 借口,复写CompareTo方法,这种方式成为元素,的自然排序,叫做默认排序。
②、TreeSet排序的第二种方式:当元素自身不具备比较性时,或者具备的比较性是不需要的,这时就需要让集合自身具备比较性。
比较器:定义一个类,实现Comparator借口,覆盖compare方法。
9、泛型
泛型的好处:1.将运行时期出现的问题转移到编译时期,方便程序员解决问题。
2.避免了强制转换类型的麻烦。
格式:通过<>来定义要操作的引用数据类型。
泛型类:class Utils<QQ>
{
}
Utils<QQ> s=new Utils<QQ>();
另外,还有泛型方法,泛型接口,泛型静态方法等。泛型定义<>放在返回值前面,修饰符后面。
10、Map
Map集合是存储键值对,一对一对往里存,而且要保证唯一性。
Map集合的方法:
①、删除:void clear();
V remove(key);
②、判断:boolean containsValue(value);
boolean containsKey(key);
boolean isEmpty();
③、获取:int size();
V get(key);
Collection<T> values();
④、添加:V put(k,v);
void putAll(Map<? extends k,? extends v> m);
Map子类对象:
HashTable:哈希表,不可以使用null值或null键,该集合是同步的。
HashMap:哈希表,可以使用null值或null键,该集合是不同步的。
TreeMap:二叉树,不同步。可以用于给Map集合中的键进行排序。
注:添加元素时,如果出现相同的键,那么后添加的值会覆盖原有键值对,并用put方法会返回被覆盖的值。
Map集合的两种去除方式:
①、keySet:先将集合中的键都取出来,然后通过迭代器去除所对应的值。
②、entrySet:先取出集合中的映射关系,然后通过迭代器取出所对应的键与值。
11、集合框架的工具类
(1)、Collections-Sort:按照默认排序
(2)、Sort();按照指定比较器比较排序。
(3)、Collections-Max();获取集合中的最大值。
(4)、Max();按照指定比较器比较出最大值。
(5)、Collections-fill();将集合中的所有元素全部替换为指定元素。
(6)、replaceAll();将集合中的指定元素用新的元素替换掉。
(7)、set();根据指定位置用新元素替换。
(8)、Collections-reverse();将指定集合中的元素反转。
(9)、reverseOrder();将指定集合按照原比较顺序的相反顺序排序。即反转排序规则。
(10)、Collections-swap();将指定位置的两元素置换。
(11)、shuffle();随机置换。
(12)、Arrays:用来操作数组的工具类,里面都是静态方法。
(13)、Arrays-aslist:将数组变成list集合。
好处:可以使用集合的思想和方法来操作数组中的元素。但不可以使用集合的增删方法,因为数组的长度是固定的。
另外,集合变数组的好处是为了对元素的操作。
12、增强for循环
高级for循环格式:for(数据类型 变量名 :被遍历的集合或数组){}
限制:高级for循环对集合进行遍历,只能获取元素,不能对集合进行操作。
- 黑马程序员:集合类
- 黑马程序员 集合类
- 黑马程序员:集合框架
- 黑马程序员---集合
- 黑马程序员_java集合
- 黑马程序员_集合
- 黑马程序员 java 集合
- 黑马程序员-集合相关
- 黑马程序员,集合List
- 黑马程序员-List集合
- 黑马程序员_集合
- 黑马程序员-集合框架
- 黑马程序员-集合
- 黑马程序员-集合框架
- 黑马程序员-集合总结
- 黑马程序员-集合类
- 黑马程序员---集合,泛型
- 黑马程序员 集合学习
- 老罗Android视频教学资源下载地址
- 在Eclipse中配置tomcat6详细步骤
- [JS]jquery cache-autocomplete
- 字符编码
- Android之SharedPreferences权限
- 黑马程序员------集合
- android adb push 与 adb install的比较(两种安装APK的方法)
- poj 3009 Curling 2.0
- java代码变成规范
- Android 之Menu
- Spring3+Hibernate4+SpringMVC整合Ext:JSON数据格式传输
- ExpandableListView用法例子
- 当才华还配不上野心,就静下来学习
- 第七周项目4--友元类