J2SE之容器_Map 接口_泛型

Map 接口

Map方法举例

import java.util.*;
public class TestMap2 {
  public static void main(String args[]) {
    Map<String, Integer> m1 = new HashMap<String , Integer>();
    m1.put("one", 1);
    m1.put("two", 2);
    m1.put("three", 3);

    System.out.println(m1.size());
    System.out.println(m1.containsKey("one"));

    if(m1.containsKey("two")) {
      //int i = ((Integer)m1.get("two")).intValue();
      int i = m1.get("two");
      System.out.println(i);
    }

  }
}

TestMap2.java

import java.util.*;
public class TestArgsWords {
  //private static final Integer ONE = new Integer(1);
  private static final int ONE = 1;
  public static void main(String args[]) {
    Map m = new HashMap();
    for (int i = 0; i < args.length; i++) {
      //Integer freq = (Integer) m.get(args[i]);

      int freq = (Integer) m.get(args[i]) == null ? 0 : (Integer) m.get(args[i]);
      //m.put(args[i],(freq == null? ONE : new Integer(freq.intValue() + 1)));
      m.put(args[i], freq==0 ? ONE : freq + 1);
    }
    System.out.println
        (m.size() + " distinct words detected:");
    System.out.println(m);
  }
}

TestArgsWords

JDK1.5泛型

import java.util.*;

public class BasicGeneric {
    public static void main(String[] args) {
        List<String> c = new ArrayList<String>();
        c.add("aaa");
        c.add("bbb");
        c.add("ccc");
        for(int i=0; i<c.size(); i++) {
            String s = c.get(i);
            System.out.println(s);
        }

        Collection<String> c2 = new HashSet<String>();
        c2.add("aaa"); c2.add("bbb"); c2.add("ccc");
        for(Iterator<String> it = c2.iterator(); it.hasNext(); ) {
            String s = it.next();
            System.out.println(s);
        }
    }
}

class MyName implements Comparable<MyName> {
    int age;

    public int compareTo(MyName mn) {
        if(this.age > mn.age) return 1;
        else if(this.age < mn.age) return -1;
        else return 0;
    }
}

BasicGeneric.java

import java.util.*;
public class TestArgsWords2 {
  private static final int ONE = 1;
  public static void main(String args[]) {
    Map<String, Integer> m = new HashMap<String, Integer>();
    for (int i = 0; i < args.length; i++) {

      if(!m.containsKey(args[i])) {
          m.put(args[i], ONE);
      }
      else {
          int freq = m.get(args[i]);
          m.put(args[i], freq + 1);
      }

    }
    System.out.println
        (m.size() + " distinct words detected:");
    System.out.println(m);
  }
}

TestArgsWords2.java

总结

时间: 2024-11-11 11:01:51

J2SE之容器_Map 接口_泛型的相关文章

C#基础加强_泛型的基本原理

小弟初写博文,深感“易敲千行码,难下百余文”的道理. 内容粗略浅薄,望各位大神海涵! 动态数组ArrayList可以实现不断的增长,让我们感受到了在某些地方较数组有优越感.但它包含的数组类型是object类,意味着需要转为数组时,存在拆装箱操作,这带来不必要的麻烦,也损失了性能.而List<T>泛型集合的出现便大大解决了上述问题. //泛型 --泛指某一个类型.这种类型需要用户自己确定 List<string> lists = new List<string>(); /

【设计模式】面向对象小结——接口、泛型和委托

上一篇文章,通过一张概括性导图,总结性的讲解了一下我对面向对象的理解,以及重写与重载的区别. 这篇文章的主要内容是写,我对面向对象功能:接口.泛型和委托的理解..很多人都认为,我不使用它们,照样能实现程序想要的功能,为什么还要用它们?可以这么说,如果要想混IT行业,那么,我们就要成为专业人员.那么,我们所写的代码就不仅仅是实现其功能那么简单了,我们还要提高程序的性能,更重要的是,我们所写的代码是给别人看的,要让别人看得懂,实现团队合作..接口.泛型和委托让我们的代码更结构化.专业化..    

C# - 接口_隐式接口实现

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace 接口_隐式接口实现 7 { 8 // 定义接口1 : IChineseGreeting 9 interface IChineseGreeting 10 { 11 void SayHello(); 12 } 13 14 // 定义接口2 : IAmericanGreeting 15 i

Java技术_Java千百问(0040)_泛型是什么

点击进入_更多_Java千百问 1.什么是泛型 泛型是Java SE 1.5的新特性,泛型即参数化类型,也就是说所操作的数据类型被指定为一个参数. 这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. 如何使用泛型方法.泛型类/接口看这里:泛型如何使用 在没有泛型的情况的下,通过对类型Object的引用来实现参数的"任意化","任意化"带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的. 对于强

Java技术_Java千百问(0041)_泛型如何使用

点击进入_更多_Java千百问 1.如何使用泛型方法 了解什么是泛型看这:泛型是什么 以下是定义泛型方法的规则: 声明泛型方法时,在返回类型之前,需要有一个由尖括号(< >)分隔的泛型类型部分. 2 . 一个泛型类型,也称为类型参数,是一个标识符,用于指定一个泛型类型的名称. 类型参数可以用来声明返回类型和充当占位符传递给泛型方法. 泛型方法的身体与其他方法一样. 例子: public class GenericMethodTest { // generic method printArray

C++primer笔记:IO库、顺序容器、关联容器、面向对象、泛型算法、模板和泛型编程

第八章:IO库不直接来处理输入输出,而是通过在标准库中的一些类型来处理io istream ostream cin cout cerr getline函数 iostream:定义了用于基本读写流的基本类型 fstream: 定义了基本的读写命名文件的类型 sstream:定义了读写内存的string对象的类型 IO对象无拷贝或者赋值 条件状态:IO定义了一些函数和标志,可以帮助我们访问和操作流得条件状态 strm::iostate 条件状态的完整功能 strm::badbit 流已崩溃 strm

J2SE之容器_Collection_Iterator_Set_List_Comparable

容器的概念 容器API Collection接口 import java.util.*; public class BasicContainer { public static void main(String[] args) { Collection c = new HashSet(); c.add("hello"); c.add(new Name("f1","l1")); c.add(new Integer(100)); c.remove(&

Java基础之Comparable接口, Collections类,Iterator接口,泛型(Generic)

一.Comparable接口, Collections类 List的常用算法: sort(List); 排序,如果需要对自定义的类进行排序, 那就必须要让其实现Comparable接口, 实现比较两个类大小的方法 shuffle(List); 随机排列 void reverse(List); 逆序排列(Linked效率较高) copy(); 复制集合, 前提是size()相同(长度, 和容量的区别) fill(List, Object);使用某个对象填充整个List binarySearch()

【JavaSE】day04_Collection_Iterator_新循环_泛型

1.Collection集合的批量操作 1)boolean addAll(Collection c) 将给定的集合中的所有元素添加到当前集合中. 当执行完毕后,当前集合中的元素发生改变则返回true. 2)boolean containsAll(Collection c) 判断当前集合中是否包含给定集合里的所有元素,全部包含则返回true. 这里判断的依据依然是依靠元素的equals比较的. 代码演示: package day04; import java.util.ArrayList; imp