因为项目的需要,今天抽时间把JAVA中的容器复习了一下,为了以后的不时之需,现在把它记下来。

  容器有其名,知其意,用来盛放数据的集合,JAVA中为我们提供了三种容器类:set、list、map,三种容器之间既有联系又有区别,首先它们均继承了Collection容器,区别在于:set容器存储数据类似于集合,里面的数据之间没有顺序,不能重复;list容器中的数据有序,并且数据可以重复;最后map容器是一种通过键值对进行的存储,所以map容器要求键值不能重复。

  通过这个图相信大家一定能够对JAVA容器有一个很好地认识。

接下来让我们一起看几个例子:

第一个:HashSet、LinkedList、ArrayList、Interator的介绍

public class hashset {

    public static void main(String[] args) {
Collection c = new HashSet();
c.add("one");
c.add("two");
c.add("three");
c.add("four");
c.add("five");
Iterator it = c.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}

输出结果:(HashSet存储里面的数据是无序的)

public class linkedlist {
public static void main(String[] args) {
Collection c = new LinkedList();
c.add("one");
c.add("two");
c.add("three");
c.add("four");
c.add("five");
Iterator it = c.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}

输出结果:

public class hashset {

    public static void main(String[] args) {
Collection c = new HashSet();
c.add("one");
c.add("two");
c.add("three");
c.add("four");
c.add("five");
Iterator it = c.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}

输出结果:

public class object_interator {
public static void main(String [] args){
Collection c = new ArrayList(); //特别注意,add添加的均要为Object对象
c.add(new student("张生", "男"));
c.add(new student("王二", "男"));
c.add(new student("莉莉", "女"));
c.add(new student("小明", "男")); Iterator it = c.iterator();
while(it.hasNext()){
student stu = (student)it.next();//特别注意it.next()获得的是一个Object对象,一定要转化为指定的对象,然后进行操作
System.out.println(stu);//默认调用其toString()方法
}
}
} //定义的一个student对象
class student{
public String name;
public String sex; //无参构造方法
public student(){}
//有参构造方法
public student(String name, String sex){
this.name = name;
this.sex = sex;
} public String getname(){
return name;
} public String getsex(){
return sex;
} //从写其toString()方法
public String toString(){
return "姓名:"+name+" 性别:"+sex;
}
}

下面简单介绍一下SDK1.5提出的增强for循环:

public class addFor {

    public static void main(String[] args) {
int arr [] = {1,2,3,4,5};
for(int i=0; i<arr.length;i++){
System.out.println("传统的输出:"+arr[i]);
}
System.out.println("");
for(int i : arr){
System.out.println("增强的for循环输出:"+i);
}
System.out.println("");
Collection c = new ArrayList();
c.add(new String("aaa"));
c.add(new String("bbb"));
c.add(new String("ccc"));
c.add(new String("ddd"));
for(Object o : c){
System.out.println(o);//默认调用其toString()方法
}
}
}

对于List容器JAVA给出了一种处理内部数据的方法:Collections,下面简单给大家分享一下我的理解:

public class list_fix {
public static void main(String [] args){
List li = new ArrayList();
for(int i = 0; i<=5; i++){
li.add("a"+i);
}
System.out.println("处理前:"+li);
Collections.reverse(li);//逆序排列
System.out.println(li);
Collections.shuffle(li);//随机排列
System.out.println(li);
Collections.sort(li);//排序
System.out.println(li);
int n = Collections.binarySearch(li, "a5");//基于二分法的查找
System.out.println("a5的位置:"+n); }
}

输出结果:

到这里我想大家估计已经对容器有了一定的了解,如果你有更好的认识还望大家赐教。

JAVA_Collection容器的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 网页提交中文到WEB容器的经历了些什么过程....

    先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...

  3. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  4. 深入理解DIP、IoC、DI以及IoC容器

    摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...

  5. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  6. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

    1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

  7. docker4dotnet #2 容器化主机

    .NET 猿自从认识了小鲸鱼,感觉功力大增.上篇<docker4dotnet #1 前世今生&世界你好>中给大家介绍了如何在Windows上面配置Docker for Window ...

  8. 深入分析Spring 与 Spring MVC容器

    1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...

  9. Set容器--HashSet集合

    Set容器特点: ①   Set容器是一个不包含重复元素的Collection,并且最多包含一个null元素,它和List容器相反,Set容器不能保证其元素的顺序; ②   最常用的两个Set接口的实 ...

随机推荐

  1. 博客迁移至CSDN

    本人的技术博客已经迁移至CSDN,地址为http://blog.csdn.net/starrow,现为Lotus Domino开发领域最活跃丰富的博客,内容包括Lotus Domino, JavaSc ...

  2. Eclipse安装与配置

    http://www.th7.cn/Program/java/201307/144477.shtml http://www.eclipse.org/ 我们下载J2EE版本:Eclipse IDE fo ...

  3. JSON 序列化和反序列化——JavaScriptSerializer实现

    一. JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.您无法访问序列化程序的此实例.但是,此类公开了公共 API.因此, ...

  4. ADO.NET Entity Framework

    ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案, 早期被称为 ObjectSpace,现已经包含在 V ...

  5. Linux内核--网络栈实现分析(十一)--驱动程序层(下)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7555870 更多请查看专栏,地 ...

  6. MyEclipse 自带的TomCat 新增部署的时候不显示 Deploy Location

    项目总是报错,添了删,删了又添了N次以后,发现添加部署的时候,Deploy Location 没有值了,Deploy Location 没有值在自带的Tomcat上就无法用浏览器浏览(Open in ...

  7. pthread——pthread_cleanup

    Pthread_cleanup用于注册线程清理函数,注册的清理函数将在线程被取消或者主动调用pthread_exit时被调用:     一个简单的示例: #include <pthread.h& ...

  8. android项目中values中几个文件的作用

    最近反编译了几个Android软件,发现一些以前未用到的资源文件:ids.xml——为应用的相关资源提供唯一的资源id.id是为了获得xml中的对象而需要的参数,也就是Object = findVie ...

  9. ABP框架Web API跨域问题的解决方案

    ​1.在Web Api 项目下安装 Microsoft.AspNet.WebApi.Cors 包 Install-Package Microsoft.AspNet.WebApi.Cors 2.在Web ...

  10. QQ揭秘:如何实现托盘闪动消息提醒?【低调赠送:QQ高仿版GG 4.1 最新源码】

    当QQ收到好友的消息时,托盘的图标会变成好友的头像,并闪动起来,点击托盘,就会弹出与好友的聊天框,随即,托盘恢复成QQ的图标,不再闪动.当然,如果还有其它的好友的消息没有提取,托盘的图标会变成另一个好 ...