- 浏览: 94942 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wataxi:
第7, 8个说的好像不对,
#dd a{
te ...
我理解中的css样式表 -
show_time:
基本语句很详细呀
oracle辅导(1--3) -
yinxiangbing:
不错,很详细。。。
Struts-config.xml配置文件讲解 -
zhuyingya87:
真的不错。。
Struts-config.xml配置文件讲解 -
被判孤寂:
语句还可以,满全面。如果加上实例和图片,就更直观了
oracle辅导(1--1)
集合类
集合(集合类的对象)是管理其他若干对象的,类似于C++标准模板库中的容器,不过JAVA的集合类的对象中可以存放多种类型的对象。
接口和类共同构成了一个集合框架,集合的概念,一个对象可以装载多个对象,就是集合对象。
集合框架
1,集合接口
Collection接口
List接口
Set接口
SortedSet接口
Collection 存储并管理多个对象的对象,集合中的每个元素都是对象。
Map,Map中没有对象,而是键值对,由Key,value组成的键值对,Key是不可重复的。value是可以相同的,Key和value是一一对应的。
集合中用到的类,接口在java.util包中,使用时注意将其引入import。
Collection 接口(以下介绍其子接口)
1)List ,一个List的实现类的对象在管理多个对象时会按顺序组织对象(即按照将对象放入的顺序存储),List实现类的对象是有顺序的,List实现类对象中的内容是是可重复的。(注意,顺序和排序的区别)
2)Set ,一个Set的实现类表示一个数学概念上的集合,Set的实现类的对象中的元素是无顺序的,也就是不会按照输入顺序来存放,Set的实现类对象中的元素是不重复的。
3)SortedSet,他是Set的子接口,他的实现类会对集合中的元素进行排序。但是要指定排序规则,他会按排序规则进行排序。
Map 接口(以下介绍其子接口)
Map接口
SortedMap接口
SortedMap,这个接口的实现类同样可以实现,不过是对键值对中的Key进行排序,这个接口的实现类也是要指定排序规则的。
JDK1.4中的集合是不安全的对象,JDK5.0中解决了这个问题。
2,接口的实现类
List接口的实现类
List接口 |
ArrayList类 |
LinkedList类 |
Vector类 |
1) ArrayList是接近于数组功能的集合类,ArryList的实质就是一个会自动增长的数组,ArrayList是用封装的数组来实现的List接口的。
Collection的实现类对象的遍历方式是用迭代来实现的。
在使用迭代器时先要活得一个迭代器的对象,Iterator(迭代器接口)这是一个接口,迭代器是在集合类中实现的,也就是说,他是一个内部类(匿名内部类)实现的。
Iterator接口中定义的常用方法方法hasNext(),next()。
hasNext(),这个方法会使用一个游标,并通过判断游标指向的位置是否存放有对象。
next()方法也是Iterator接口中定义好的方法,这个方法会使游标指向下一个元素的位置,游标会跳过第一个元素,并返回其中的内容。
Collections(注意,这个不是Collection接口) 这是一个工具类,也是java.util包中的,这个类中的sort(list接口的实现类的对象)方法,其参数是一个集合类的对象,这个方法使用来对集合类的对象进行排序的。以后,我将以集合这个名字来称呼集合类的对象。,对于字符串对象内容的集合来说会按字典顺序排序(升序),对于数字内容的集合排序也会按照升序排序。
集合排序
排序可一份为两部分内容,一个是排序的规则,也就是按照什么来进行排序,并且排成什么样的顺序。第二个就是排序的算法,他决定了排序的效率。
在对自定义的集合内容类型排序时,需要先定义那个类型的排序规则。
Comparable接口,这个接口中只定义了一个compareTo(Object o),方法的返回至类型是整型,如果当前对象大于参数对象就返回正数,当前对象等于参数对象是就返回0,当前对象小于参数对象时就返回负值,这样写就是升序排列,反之则是进行降序排列,在实现这个接口中的方法时,返回值定义方式,只有这两种。
根据指定类型的排序规则实现了Comparable接口,那么就可以对存有这个类型的集合进行整体排序。Comparable接口,也叫做可比较接口。这个接口在java.lang包下。只要实现了这个接口,就是可排序的。
接下来介绍另外一种对自定义类型对象的集合整体排序的方法,也就是实现比较器接口(Comparator),这个接口中定义了一个compare(Object o1,Object o2)方法来比较两个对象,这个方法的返回值定义和上面介绍的那个方法是一样。
注意:在API,帮助文档中以上两个方法的参数类型是T,这代表的模板类型,也就是集合中存放的内容的类型,在JDK1.4中其参数就是Object类型,模板类型的详细内容会在最后的JDK5.0新特性中讲到。
Comparator接口可以在匿名内部类中实现,Collections 中的sort(集合了的对象,比较器)方法,可以对自定义类型内容的集合进行整体排序。
集合排序的实例:
public class Employee implements Comparable{
private String name;
private int age;
private double salary;
public Employee(String name, int age, double salary) {
super();
// TODO Auto-generated constructor stub
this.name = name;
this.age = age;
this.salary = salary;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String toString() {
return name+" "+age+" "+salary;
}
public int compareTo(Object o){//默认是升序排列,也可以使用降序
Employee e=(Employee)o;
if (this.age<e.getAge()) return 1;
else if (this.age()>e.getAge()) return -1;
else if (this.salary()<e.getSalary()) return 1;
else if (this.salary>e.getSalary()) return -1;
else return this.name.compareTo(e.getName());
}
}
import java.util.*;
public class TestEmployee {
public static void main(String[] args){
List l=new ArrayList();
l.add(new Employee("Liucy",40,2000));
l.add(new Employee("Hiloo",40,8000));
l.add(new Employee("Chenzq",18,300));
l.add(new Employee("George",45,10000));
l.add(new Employee("BaoJie",18,300));
Collections.sort(l);
发表评论
-
corejava辅导(2--3)
2008-12-13 08:37 1112java中的数组Array Java中的每一个数组就是都是 ... -
corejava辅导(17--3)
2008-12-03 17:53 829*1: 名为DoCallStuff类实现了Callable,S ... -
corejava辅导(17--2)
2008-12-03 17:51 835处理自定义注释的类 例: import java.lang.r ... -
corejava辅导(17--1)
2008-12-03 17:48 682JAVA5.0 的注释 (Annotation) 描述代码 ... -
corejava辅导(16--4)
2008-12-03 17:46 772泛型方法的定义 把数组拷贝到集合时,数组的类型一定要和集合 ... -
corejava辅导(16--3)
2008-12-03 17:44 738java5.0中的泛型 说明 增强了java的类型安全 ... -
corejava辅导(16--2)
2008-12-03 17:29 694可变长的参数 在java5.0中,可以使用一种变长参数,也就是 ... -
corejava辅导(16--1)
2008-12-03 17:25 834Java5.0的新特性 自动装箱和自动拆箱 自动封箱和 ... -
corejava辅导(15)
2008-12-03 17:18 715反射 反射,在运行时,动态分析或使用一个类进行工作。 类对 ... -
corejava辅导(14--4)
2008-12-03 17:15 777UDP socket 这种信息传输方式相当于传真,信息打包, ... -
corejava辅导(14--3)
2008-12-03 17:13 767TCP Socket TCP是Tranfer Con ... -
corejava辅导(14--2)
2008-12-03 17:10 658JAVA网络编程 网络基础知识 网络编程的目的就是指直 ... -
corejava辅导(14--1)
2008-12-03 17:08 671ObjectInputStream和ObjectOutputS ... -
corejava辅导(13--2)
2008-12-03 17:00 781BufferInputStream和BufferOutputS ... -
corejava辅导(13--1)
2008-12-03 16:56 766Java中的I/O 使用I/O流访问file中的内容。 J ... -
corejava辅导(12--3)
2008-12-03 16:53 715基本输入输出所使用的类的介绍: FileInputSt ... -
corejava辅导(12--2)
2008-12-03 16:51 704处理跨平台性 对于命令:File f2=new file( ... -
corejava辅导(12--1)
2008-12-03 15:56 738死锁问题 多线程不释放自己拥有的锁标记,而想申请其他线 ... -
corejava辅导(11--2)
2008-12-03 15:52 727共享数据的并发处理 多线程同时并发访问的资源叫做临界资源 ... -
corejava辅导(11--1)
2008-12-03 15:46 733Java多线程编程 进程,即运行中的程序,多任务操作系统中 ...
相关推荐
赠送jar包:aliyun-java-sdk-core-4.3.9.jar; 赠送原API文档:aliyun-java-sdk-core-4.3.9-javadoc.jar; 赠送源代码:aliyun-java-sdk-core-4.3.9-sources.jar; 赠送Maven依赖信息文件:aliyun-java-sdk-core-...
赠送jar包:aws-java-sdk-core-1.11.939.jar 赠送原API文档:aws-java-sdk-core-1.11.939-javadoc.jar 赠送源代码:aws-java-sdk-core-1.11.939-sources.jar 包含翻译后的API文档:aws-java-sdk-core-1.11.939-...
赠送jar包:aliyun-java-sdk-core-4.5.30.jar 赠送原API文档:aliyun-java-sdk-core-4.5.30-javadoc.jar 赠送源代码:aliyun-java-sdk-core-4.5.30-sources.jar 包含翻译后的API文档:aliyun-java-sdk-core-4.5....
赠送jar包:aliyun-java-sdk-core-4.5.10.jar; 赠送原API文档:aliyun-java-sdk-core-4.5.10-javadoc.jar; 赠送源代码:aliyun-java-sdk-core-4.5.10-sources.jar; 赠送Maven依赖信息文件:aliyun-java-sdk-core-...
aliyun-java-sdk-core-3.2.3 aliyun-java-sdk-core-3.2.3aliyun-java-sdk-core-3.2.3
ckeditor-java-core-3.5.3-javadoc.chm
Core Java Volume I--Fundamentals(10th) 英文epub 第10版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
赠送jar包:aws-java-sdk-core-1.12.160.jar; 赠送原API文档:aws-java-sdk-core-1.12.160-javadoc.jar; 赠送源代码:aws-java-sdk-core-1.12.160-sources.jar; 赠送Maven依赖信息文件:aws-java-sdk-core-1.12....
赠送jar包:aws-java-sdk-core-1.11.939.jar; 赠送原API文档:aws-java-sdk-core-1.11.939-javadoc.jar; 赠送源代码:aws-java-sdk-core-1.11.939-sources.jar; 赠送Maven依赖信息文件:aws-java-sdk-core-1.11....
ckeditor-java-core-3.5.3.jar ckeditor-java-core-3.5.3.jar ckeditor-java-core-3.5.3.jar ckeditor-java-core-3.5.3.jar ckeditor-java-core-3.5.3.jar
aliyun-java-sdk-core-3.4.0.jar
赠送jar包:aliyun-java-sdk-core-4.3.9.jar; 赠送原API文档:aliyun-java-sdk-core-4.3.9-javadoc.jar; 赠送源代码:aliyun-java-sdk-core-4.3.9-sources.jar; 赠送Maven依赖信息文件:aliyun-java-sdk-core-...
赠送jar包:aliyun-java-sdk-core-4.5.10.jar; 赠送原API文档:aliyun-java-sdk-core-4.5.10-javadoc.jar; 赠送源代码:aliyun-java-sdk-core-4.5.10-sources.jar; 赠送Maven依赖信息文件:aliyun-java-sdk-core-...
SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dysms-api包
Core Java Volume II--Advanced Features(10th) 英文azw3 第10版
赠送jar包:aliyun-java-sdk-core-4.5.30.jar; 赠送原API文档:aliyun-java-sdk-core-4.5.30-javadoc.jar; 赠送源代码:aliyun-java-sdk-core-4.5.30-sources.jar; 赠送Maven依赖信息文件:aliyun-java-sdk-core-...
aliyun-java-sdk-dysmsapi-1.0.0.ja jar aliyun sdk java core
--Fundamentals 9th Edition).rar》是一个包含两本经典Java编程书籍的压缩文件,分别对应《Core Java Volume I--Fundamentals 9th Edition》和《Core Java Volume II--Advanced Features 9th Edition》的第九版。...
Java核心技术第九版Java7,Mobi格式电子书。Core Java Volume I--Fundamentals (9th Edition)
在这个场景中,"aliyun-java-sdk-core-4.1.0.jar" 是一个Java版本的核心SDK,主要用于与阿里大于的各项服务进行交互,特别是短信发送功能。 一、阿里大于SDK核心功能 1. **身份验证**:SDK提供了基于AccessKey的...