集合(二)

一、contains方法判断是否包含,底层依赖的是equals方法

remove方法判断是否删除,底层依赖的依然是equals方法

二、LinkedList模拟栈结构(栈:先进后出)

三、

1、泛型概述

2、泛型好处

(1)提高安全性(将运行期的错误转换到编译)

(2)省去强转的麻烦

3、泛型基本使用

<>中放的是引用数据类型

4、泛型注意事项

前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型)

四、

1、

public<T> void show(T t) {      //方法泛型最好与类的泛型一致
    System.out.println(t);      //如果不一致,需要在方法上声明该泛型
}

2、

public static<W> void print(W w) {//静态方法必须声明自己的泛型

    System.out.println(w);      
}

五、增强for循环的概述和使用

增强for循环底层依赖的是迭代器(Iterator)

六、三种迭代能否删除

1、普通for循环,可以删除,但是索引要--

2、迭代器,可以删除,但是必须用迭代器自身的remove方法,否则会出现并发修改异常

3、增强for循环不能删除

七、可变参数的概述和使用

1、可变参数概述

定义方法的时候不知道该定义多少个参数

2、格式

修饰符 返回值类型 方法名(数据类型... 变量名) { }

3、注意事项

(1)这里的变量其实是一个数组

(2)如果一个方法有可变参数,并且有多个参数,那么可变参数肯定是最后一个

八、Arrays工具类的asList()方法的使用

1、基本数据类型的数组转换成集合,会将整个数组当作一个对象转换

2、将数组转换成集合,数组必须是引用数据类型

3、当集合转换成数组时候,数组长度如果是小于等于集合的size时,转换后的数组长度等于集合的size;如果数组的长度大于集合的size,分配的数组长度就和指定的长度一致,比集合的size多出来的赋null值

时间: 2024-10-23 18:54:52

集合(二)的相关文章

对象集合 二

10,创建字典 字典数组也分不可修改NSDictionary和可修改NSMutableDictionary两种. 创建字典如下 NSArray *listOfObjects = [NSArray arrayWithObjects:@"Hello World", @"Bonjour tout le? monde", @"Hola Mundo", nil]; NSArray *listOfKeys = [NSArray arrayWithObject

Java之集合(二十六)ConcurrentSkipListMap

转载请注明源出处:http://www.cnblogs.com/lighten/p/7542578.html 1.前言 一个可伸缩的并发实现,这个map实现了排序功能,默认使用的是对象自身的compareTo方法,如果提供了比较器,使用比较器的比较方法.简单来说ConcurrentSkipListMap是TreeMap的并发实现,但是为什么没有称之为ConcurrentTreeMap呢?这和其自身的实现有关.该类是SkipLists的变种实现,提供了log(n)的时间开销:containsKey

第十一章:集合(二)

Map类型集合: Map类型的集合每个元素都有两个信息:键  ,  值. Map中键不能相同.一个键映射一个值. 键,值默认为Object类型. put(键,值) 是Map集合添加元素的方法. get(键)  返回值 remove(键)  删除值. containsKey(键)  判断键. Collections工具类 Conllections 主要用于List类集合. Conllections.sort(List)  对List集合中的元素按升序排列. Conllections.reverse

C#基础[10] ArrayList集合(二)【详细介绍】

1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i<10;i++ ) //给数组增加10个Int元素 List.Add(i); //..程序做一些处理 List.RemoveA

Java集合(二):List列表

在上一节中,介绍了Java集合的总体情况.从这节開始,将介绍详细的类.这里不单单介绍类的使用方法.还会试图从源代码的角度分析类的实现.这一节将介绍List接口及实现类.即列表中的链表LinkedList和数组列表ArrayList. 1 List接口及抽象类 List接口扩展自Collection接口,这个接口设计了一些适合列表操作的方法.List是一个有序集合.元素能够加入到容器中某个特定的位置. 使用javac编译List.java源代码后,能够使用javap反编译源代码获得接口的详细信息.

Java之集合(二十二)PriorityBlockingQueue

转载请注明源出处:http://www.cnblogs.com/lighten/p/7510799.html 1.前言 本章介绍阻塞队列PriorityBlockingQueue.这是一个无界有序的阻塞队列,排序规则和之前介绍的PriorityQueue一致,只是增加了阻塞操作.同样的该队列不支持插入null元素,同时不支持插入非comparable的对象.它的迭代器并不保证队列保持任何特定的顺序,如果想要顺序遍历,考虑使用Arrays.sort(pq.toArray()).该类不保证同等优先级

关于CSS细节集合(二)

一.IE6及以下不识别a 标签外的:hover伪类,在火狐,IE7里能正确达到效果,解决办法: .代码   #show li.s1{ border:1px solid #ff9900; background:#454242;} #show li.s2{ border:1px solid #D9D8D8; background:#312E2E;} 二.为元素设置hasLayout 很多IE6(或IE7)的问题可以用设置hasLayout值的方法来解决,最简单的给元素设置hasLayout值的方法是

Scala集合(二)

将函数映射到集合 map方法 val names = List("Peter" , "Paul", "Mary") names.map(_.toUpperCase) // 等同于 for(n <- names) yield n.toUpperCase flatMap方法,如果函数产出一个集合,又想将所有值串联在一起 def ulcase(s:String) = Vector(s.toUpperCase(), s.toLowerCase())

生成验证码的方法集合(二)

前一篇随笔已将介绍了三种验证码生成的方法(纯数字.数字与字母结合.四则运算式),那这篇随笔将接着前一篇的内容,继续介绍验证码的生成方法——中文彩色验证码. 在登录一些管理网站时,可以看到网页中的验证码是以汉字形式出现的.汉字的形式比字母和数字混合验证码技术更先进.通过使用带有各种色彩的汉字验证码,可以有效地防止非法用户灌水. 首先新建一个VryImgGen类,在其中定义生成中文彩色验证码的方法: public class VryImgGen { public static string Chin

Java之集合(二十一)LinkedTransferQueue

转载请注明源出处:http://www.cnblogs.com/lighten/p/7505355.html 1.前言 本章介绍无界的阻塞队列LinkedTransferQueue,JDK7才提供了这个类,所以这个类具备了一些一般队列不具有的特性.此队列也是基于链表的,对于所有给定的生产者都是先入先出的.注意,该队列的size方法和ConcurrentLinkedQueue一样不是常量时间.由于队列的实现,其需要遍历队列才能计算出队列的大小,这期间队列发生的改变,遍历的结果会不正确.bulk操作