`
yangwn
  • 浏览: 75435 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论
  • icewubin: kimmking 写道icewubin 写道Dollyn 写道 ...
    Java
  • kimmking: icewubin 写道Dollyn 写道我十分怀疑最后一条,很 ...
    Java
  • beneo: 完全忽略了一個好的JVM的優化能力 難道java是C編譯器么 ...
    Java
  • icewubin: Dollyn 写道我十分怀疑最后一条,很多编译器都会自动做类似 ...
    Java
  • Dollyn: 我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JD ...
    Java

JAVA中几种常见集合的使用实例

    博客分类:
  • JAVA
阅读更多

Java.util.ArrayList(类):

 

import java.awt.*;
import java.util.*;
public class CollectionTest
{//List是一个能包含重复元素的已排序的Collection,有时list也称为序列,List第一个元素的下标为0 
     public String colors[]={"red","white","blue"};//定义一个字符数组

     
//构造函数
     public CollectionTest()
     
{
          ArrayList list
=new ArrayList();//实例化一个ArrayList
          list.add(Color.magenta);//向里面添加一个元素,这里是颜色
          
          
for(int count=0;count<colors.length;count++)
              list.add(colors[count]);
//加入开始声明的数组中的元素
          
          list.add(Color.cyan);     
//颜色  导入awt包
          System.out.println("\nArrayList");
          
for(int count=0;count<list.size();count++)
             System.out.println(list.get(count)
+" ");//从arrayList中读取 元素
          
          removeString(list);
          System.out.println(
"\n\nArrayList after calling"+"removeString:");
          
for(int count=0;count<list.size();count++)
                 System.out.println(list.get(count)
+" ");
     }

     
     
        
public void removeString(Collection collection)
        
{
             Iterator itrator
=collection.iterator();    //声明一个迭代
             
//调用itrator的hasNext方法判断Collection是否还包含元素
             while(itrator.hasNext())
             
{
                  
//调用itrator的next方法获得下一个元素的引用
                  if( itrator.next() instanceof String ) // instanceof 判断是否是String 的实例
                        itrator.remove();    //如果是的 则删除
             }

        }

     
     
public  static void main(String[] args)
     
{
          
new CollectionTest();
     }

     
}



该例示范了ArrayList的使用 先声明了一String类型的数组,里面存储了“颜色”,是用字符串写出的颜色,将这个字符串数组存入ArrayList实例,同时还存入了awt包内的颜色实例,全部存入后利用迭代,删除不符要求的假数据,也就是我们用字符串写的颜色,也用到了 instanceof 它是一个二元操作符,类似于equals用于判断instanceof左边 的对象 是否是 右边对象的实例,若是 返回真,这里就可以判断 ArrayList里面的真假颜色,假颜色是 字符串的 实例,所以我们通过迭代 一个个对比。只要是String的实例就将其从数组中删除,所以最后 ArrayList里面仅仅剩下二个元素,运行效果如下:

 java.util.HashSet(类);



可以看到重复元素 orange除去了

java.util.Set(接口)

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

class TestSet 
{    
     
public static void main(String args[])
     
{
         Set set 
= new HashSet();
         set.add(
"aaa");
         set.add(
"bbb");
         set.add(
"aaa");//后面加入的重复性元素均无效
         set.add("bbb");
         set.add(
"aaa");
         set.add(
"bbb");
         set.add(
"aaa");
         set.add(
"bbb");
         set.add(
"aaa");
         set.add(
"bbb");
         Iterator ite
=set.iterator();
         System.out.println(set.size());
//the result is 2
         while(ite.hasNext())
         
{
             System.out.println(
"----"+ite.next());
          }

     }

}



我们看到效果

java.util.List(接口)

package tt;

import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListTest {

    
public static void baseUse(){
            
//链表实现
            List list = new LinkedList();
            
//数组实现
            
//List list = new ArrayList();
            list.add("a");//向列表的尾部追加"a"
            System.out.println("使用list接口的add()一个参数的方法:"+list);
            list.add(
0,"b");//在指定位置插入"b"
            System.out.println("使用list接口的add二个参数的方法:"+list);
            list.remove(
"a");//移除列表中"a"
            System.out.println("使用list接口的remove()方法删除a:"+list);
     }
    
      
public static void useSort(){
            String[] strArray 
= new String[] {"z""a""c","C"};
            List list 
= Arrays.asList(strArray);
            System.out.println(list);
            Collections.sort(list);
//根据元素自然顺序排序
            System.out.println("自然顺序:"+list);
            Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
//根据指定的字母方式排序    
            System.out.println("指定字母方式:"+list);
            Collections.sort(list, Collections.reverseOrder());
//根据反转自然顺序方式排序
            System.out.println("反转自然顺序:"+list);
            Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
            System.out.println(list);
            Collections.reverse(list);
//反转列表排序
            System.out.println(list);
      }

           
    
public static void main(String[] args) {
    
        baseUse();
    
//    useSort();
    }


}


运行
 

java.util.TreeSet(类)

package tt;

import java.util.Iterator;
import java.util.TreeSet;

public class TreeSetTest {
    
     
public static void main(String args[]){
          TreeSet a 
= new TreeSet();
          a.add(
"1167014513046,hondanna_mousepress");
          a.add(
"1167014512046,hondanna_mousepress_usefull");
          a.add(
"1167014511046,hondanna_mousepress_num");
          a.add(
"1167014515437,hondanna_mousepress");
          a.add(
"1167014514438,hondanna_mousepress_usefull");
         Iterator iterator 
= a.iterator();
         
while(iterator.hasNext())
             System.out.println(iterator.next());
         }

}

运行结果:

TreeSet为使用树来进行存储的Set接口提供了一个工具,对象按升序存储,访问和存储是很快的,在存储了大量的需要进行快速检索的排序信息的情况下,TreeSet是一个很好的选择
构造函数定义为:
TreeSet()-构造一个空的树集合,该树集合将根据其元素的自然顺序按升序排序。
TreeSet(Collection c)-构造了一个包含了c的元素的树的集合。
TreeSet(Comparator comp)-构造了一个空的树的集合,它按照由comp指定的比较函数进行排序。
TreeSet(SortedSet ss)-构造了一个包含ss的元素的树集合。

//Set是包含独一无二元素的Collection,HashSet把它的元素存储在哈希表中,而TreeSet把它的元素存储在树中
import java.util.*;

public class SetTest
{
     
private String colors[]={"orange","tan","orange","white",  "gray"};
     
public SetTest()
     
{
              ArrayList list;
  
分享到:
评论

相关推荐

    JAVA-泛型的使用

    任意给出两组个数相同的集合a和b。...a中每一个数与b中同一位置的数称为对应关系,统计a中每种数对应的b的取值有几种。 (如上述例子中,a为2时,对应的b有1和0两种取值;a为1时,对应的b中只有0这一种取值)

    java范例开发大全

    实例154 使用静态成员变量计算内存中实例化的对象数目 239 实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂...

    java范例开发大全源代码

     实例154 使用静态成员变量计算内存中实例化的对象数目 239  实例155 实现加减乘除的方法 240  8.3 面向对象的设计模式 241  实例156 Singleton单例模式 242  实例157 招聘(简单工厂模式) 243  ...

    Java范例开发大全 (源程序)

     实例154 使用静态成员变量计算内存中实例化的对象数目 239  实例155 实现加减乘除的方法 240  8.3 面向对象的设计模式 241  实例156 Singleton单例模式 242  实例157 招聘(简单工厂模式) 243  实例158...

    Java范例开发大全(全书源程序)

    实例154 使用静态成员变量计算内存中实例化的对象数目 239 实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

     《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...

    java范例开发大全(pdf&源码)

    实例154 使用静态成员变量计算内存中实例化的对象数目 239 实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂...

    Java 基础核心总结 +经典算法大全.rar

    关于 null 的几种处理方式大小写敏感 null 是任何引用类型的初始值 null 只是-种特殊的值使用 Null-Safe 方法null 判断 关于思维导图 Java.IO Java.lang Java.math Java.net Java 基础核心总结 V2.0 IO 传统的 ...

    Java语言基础下载

    在Java中使用HQL 709 内容总结 712 独立实践 712 第三十七章 Spring介绍 713 学习目标 713 Spring简介 714 IOC控制反转 714 Spring的容器 715 AOP面向切面编程 715 AOP的专业术语 715 Spring事务管理 718 Spring与...

    java 面试题 总结

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的...

    java开源包11

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包4

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    JAVA面试题最全集

    76.EJB有哪几种?区别是什么? 77.JavaBean与EJB有什么区别? 78.软件开发生命周期有哪几个阶段? 79.软件开发有哪些因素? 80.软件开发中如何进行版本控制? 81.UML中,类视图如何表示类中的继承与聚合? 82.客户端...

    Java优化编程(第2版)

    8.7 几种ejb的结合应用规则 8.8 提高ejb应用性能的其他途径 小结 第9章 jms性能优化 9.1 jms消息收发模式及其各自适用场合 9.2 发送与接收jms消息 9.3 优化jms中的会话对象 9.4 优化连接对象 9.5 优化消息目的地...

    java面试宝典

    156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在浏览器的地址栏没有改变? 37 158、如何转换JSP 0.9版本的文件到JSP1.1? 37 160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么...

    Java面试宝典-经典

    46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...

    Java面试宝典2010版

    46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...

Global site tag (gtag.js) - Google Analytics