Java.util.ArrayList(类):

*;
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(类);

*;

public class SetTest
{
     private String colors[]={"orange","tan","orange","white",  "gray"};
     public SetTest()
     {
              ArrayList list;
              list=new ArrayList(Arrays.asList(colors));
              System.out.println("ArrayList:"+list);
              printNonDuplicates(list);  
     }
 
 
     public void printNonDuplicates(Collection collection)
     {
          //构造HashSet删除Collection中多余的元素
          HashSet set=new HashSet(collection);
          // 将coolection放入HashSet后即会消除重复元素          
          System.out.println("set:"+set);

          Iterator itrator=set.iterator();
          System.out.println("\nNonDuplicates are:");
          while(itrator.hasNext())
          System.out.println(itrator.next()+" ");
          System.out.println();
     }
         
     public static void main(String[] args)
     {  
            new SetTest(); 
     }

}




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

java.util.Set(接口)

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(接口)

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(类)

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的元素的树集合。

JAVA中几种常见集合的使用实例的更多相关文章

  1. Java中9种常见的CMS GC问题分析与解决

    1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省 ...

  2. java中几种常见字符集与乱码介绍

    1.  ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码 .读者在输入和存储文档时都要使用内码,内码分为  单字节内码 -- Single-Byte chara ...

  3. Java中几种常见排序算法

    日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数 ...

  4. Java中8种常见的排序方法

    排序方法的演示1)插入排序(直接插入排序.希尔排序)2)交换排序(冒泡排序.快速排序)3)选择排序(直接选择排序.堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少 ...

  5. Java中几种常见的排序方式

    冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字 ...

  6. Java中几种常见的NPE问题

    1.Map下的NPE 直接上代码: Map类集合K/V能不能存储null值的情况,如下表格: 2.foreach遍历集合删除元素 在遍历集合时对元素进行add/remove操作要使用Iterator, ...

  7. Java中几种常见的循环

    多重if_else: package com.dengchaoqun.ht; public class Double_For02 { /** * * 打印乘法表 */ public static vo ...

  8. js中几种常见的方法的实例 shift,unshift,push,prop

    1.shift()定义和用法 shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值. 语法:arrayObject.shift() 返回值:数组原来的第一个元素的值. 说明:如果 ...

  9. java中四种引用类型

    java中四种引用类型  今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混.后来在 ...

随机推荐

  1. Error: could not find java.dll 解决办法

    Error: could not find java.dll 问题: 安装配置Java环境变量后,在命令行中运行java -version进行测试时却出现下面的问题: Error: opening r ...

  2. c#字典序

    using System; using System.Collections.Generic; public class Example { public static void Main() { / ...

  3. 优化web前端性能的几个方法

    1 减少http请求, a. 合并脚本跟样式文件,如可以把多个 CSS 文件合成一个,把多个 JS 文件合成一个. b. CSS Sprites 利用 CSS background 相关元素进行背景图 ...

  4. react dva routerRedux 备忘

    首先你需要import { Link, routerRedux } from 'dva/router'; 在方法里跳转用 function applyJobHandler(){ dispatch(ro ...

  5. Microsoft SilverLightt是一个跨浏览器的、跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序。

    Microsoft Silverlight是一个跨浏览器的.跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序.Silverlight提供灵活的编程模型,并可 ...

  6. VS MFC 改变AfxMessageBox标题 AFX_IDS_APP_TITLE

    其实这个标题在资源String Table里就能找到,查找AFX_IDS_APP_TITLE,在这里你就能轻而易举的改变标题了. 注意:有的工程的资源String Table里面没有添加AFX_IDS ...

  7. python里如何计算大文件的md5

    在python3中,有了一个hashlib,可以用来计算md5,这里先给出一个简单的例子: import hashlib sstr="i love hanyu" print(has ...

  8. python每日一类(1):pathlib

    每天学习一个python的类(大多数都是第三方的),聚沙成金. -------------------------------------------------------------------- ...

  9. 我在16aspx网上下载了个C#源码,如何能在我自己的计算机上跑起来,很急!求详细操作过程!

    先搞清楚是WINDOWS程序还是WEB程序.

  10. typescript项目配置路径别名(路径映射)

    在vue项目中,我们可以利用“@”来指代src目录,在普通webpack项目中,我们也可以通过配置webpack的config来指定路径别名,但是在typescript+webpack项目中我们该怎么 ...