📄 nominalattribute.java
字号:
package org.scut.DataMining.Core;
import java.util.Date;
import java.util.HashMap;
public class NominalAttribute extends MiningAttribute {
/** map for nominal value to integer value */
private HashMap<String,Integer> nominalMap;
public NominalAttribute(String name)
{
super(name);
// TODO Auto-generated constructor stub
this.nominalMap = new HashMap<String,Integer>();
}
/**
* Gets the count of the nominal string
* @return count of the nominal string,-1 if numeric type encountered
*/
public int getNominalCount()
{
return this.nominalMap.size();
}
/**
* Maps a nominal string to interger value
* @param nom nominal string to be maped to an integer value
* @return interger value of the nominal value in the map, -1 if not found
*/
public int getNominalValue(String nom)
{
Integer value = this.nominalMap.get(nom);
if(value == null) return -1;
return value.intValue();
}
/**
* Adds a nominal string to the map, if exists nothing changed
* @param nom new nominal string
*/
public void addNominal(String nom)
{
if(this.nominalMap.containsKey(nom)) return;
this.nominalMap.put(nom,this.nominalMap.size());
}
/*********************************************************************/
public static void main(String[] args)
{
long start = new Date().getTime();
NominalAttribute nom = new NominalAttribute("Hong");
nom.addNominal("A");
nom.addNominal("B");
nom.addNominal("C");
System.out.println(nom.getName());
System.out.println(nom.getNominalCount());
System.out.println(nom.getNominalValue("B"));
long end = new Date().getTime();
System.out.println("Time eclipsed[s]: " + (end-start)/1000.0);
}
/*********************************************************************/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -