导航:首页 > 编程语言 > java前缀树

java前缀树

发布时间:2023-03-12 00:27:52

java中将字段前缀相同的部分设为一个key,将所有该前缀的字段放入value,形成多个key-value存放到map中。

输入流,一次读取一行
然后直截取和拆分字符串
File file = new File("txt文件路径");
InputStreamReader isr = new InputStreamReader(new FileInputStream(file));
BufferedReader br = new BufferedReader(isr);
String tmp = null;
while((tmp = br.readLine()) != null){
System.out.println(tmp);
}
剩下的就是你对这个tmp进行拆分

⑵ 使用Java作为程序语言时,好的命名规范有哪些

  1. Package的命名

    Package的名字应该都是由一个小写单词组成。

    Class的命名

    Class的名字必须由大写字母开头而其他字母都小写的单词组成

    Class变量的命名

    变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。

    StaticFinal变量的命名

    StaticFinal变量的名字应该都大写,并且指出完整含义。

  2. 参数的命名

    参数的名字必须和变量的命名规范一致。

    数组的命名

    数组应该总是用下面的方式来命名:

    byte[]buffer;

    而不是:

    bytebuffer[];

    方法的参数

    使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:

    SetCounter(intsize){

    this.size=size;

    }

  3. 变量名

    普通变量命名应该采用首字母小写,其他字母首字母大写的方式。

    final static变量的名字应该都大写,并且指出完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词如。

    NUM_DAYS_IN_WEEK MAX_VALU

    如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性

    context=ctx message=msg

    通过在结尾处放置一个量词,就可创建更加统一的变量

    First(一组变量中的第一个) Last(一组变量中的最后一个) Next(一组变量中的下一个变量) Prev(一组变量中的上一个) Cur(一组变量中的当前变量)

    无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。

    索引变量:i、j、k等只作为小型循环的循环索引变量。

    逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。

    if(isClosed){ dosomeworks; return; }

    数组

    总是使用以下方式定义数组:

    int[] arr = new int[10];

    禁止使用C语言的是形式:

    禁止 int arr[] = new int[10];

    集合

    数组或者容器推荐命名方式为名词+s的方式,例如:

    Listpersons = getPerson(); for(Person person : persons){ dosomeworks; }

    泛型

    应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

    Container中的Element应该用E表示;Map里的key用K表示,value用V;Type用T表示;异常用X表示

    如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

    public class HashSetextends AbstractSet{…} public class HashMapextends AbstractMap{…} public class ThreadLocal{…} public interface Functor{ T val() throws X; }

    推荐的命名

    1.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

    interface Container class ContainerImpl

    2.Exception类最好能用“Exception”做为类命名的结尾

    DataNotFoundException InvalidArgumentException

    3.抽象类最好能用“Abstract”做为类命名的开头

    AbstractBeanDefinition AbstractBeanFactory

    4. Test类最好能用“Test”做为类命名的结尾

    ContainerTest

    5.简称与缩写(不推荐使用)

    cp代表colorPoint buf代表buffer off代表offset len代表length

    除非是在循环中,否则一般不推荐使用单个字母作为变量名,不过也有例外,即约定俗成的单个字母

    b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整数 l代表long o代表Object s代表String v代表某些类型的特定值

    代码风格

    花括号

花括号统一采用以下格式:

if(bool experssion){ dosomework; }

除非花括号中为空,不然任何情况下不能省略花括号,并且花括号必须换行,例如:

if(i==0){ return; } while(true) {}

以下写法禁止出现:

禁止 if(i != 0) return; 禁止 if(i !=0) {return;}

括号

括号的前,后一个字符不需要空格,例如:

Person p = new Person(“Jack”, 17);

空格

逗号之后紧跟一个空格。

Person p = new Person(“Jack”, 16, “China”);

二元操作符前后跟空格。

int i = a + b – c * d;

3. 一元操作符不需要空格,for语句分号后有空格。

for(int i = 0; I < 10; i++){ dosomework; }

4. 括号前后不需要空格

类的定义结构按照顺序为:

1) 常量

2) 成员变量

3) 构造函数

4) 成员函数

5) get和set方法

各个部分之间留出一个空行。

例如:

  1. 规范类模板:

  2. class Person{ private final static int MAX_AGE = 100; private String firstname = “Jack”; public Person(){} public Person(String firstname){ this.firstname = firstname; } public void doExercise(){ dosomeworks; run(); } private void run(){ dosomeworks; } public getFirstname(){ return firstname; } public setFirstname(String firstname){ this.firstname = firstname; } }

  3. 2.构造函数

  4. 1) 参数为空的构造函数出现在最上方

  5. 2) 有调用关系的构造函数相邻

  6. 3) 参数尽量由少到多从上至下排序

  7. 3.使用成员变量

  8. 在类的方法内引用成员变量了命名冲突以外,不使用this。非特殊情况在类的方法内都不使用get和set方法存取成员变量。

  9. 4.方法

  10. 有调用关系的方法尽量放在相邻的位置,public和private方法可以交叉放置。

  11. 5.get和set方法,所有需要公开的成员变量都要符合良好的javabean规范,提供get和set方法,尽量使用IDE工具自动生成。

  12. Javadoc注释

  13. 在每个程序的最开始部分,一般都用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加 Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示

⑶ java jsp 中包、类、接口等的命名规则

类命名规则
基本命名规则:

类、接口命名
命名规则:以大写字母开头,假如有多个英文本词,每个英文本词头字母大写
例如:StudentInfo

接口命名
命名规则:以大写字母"I"开头,假如有多个英文本词,每个英文本词头字母大写
例如:IStudentInfo

接口出现类命名:
命名规则:将出现的接口名称的首字母"I"去掉,以"Impl作为结尾",假如有多个英文本词,每个英文本词头字母大写。
例如:StudentInfoImpl

J2EE+SSH框架命名规则

servlet类命名:
命名规则:以Servlet英文本词结尾
例如:LoginServlet

POJO命名:
应用hibernate自动生成的类即可

DAO类命名:
应用hibernate自动生成的类即可

Action类命名:
命名规则:Action的命名以POJO名称来制定,POJO名称Action
例如:
一个的POJO名称为Diary,其对应的action为DiaryAction

ActionForm类命名:
命名规则:ActionForm的命名以POJO名称来制定,POJO名称Form
例如:
一个的POJO名称为Diary,其对应的actioForm为DiaryForm

业务逻辑接口命名:
命名规则:业务逻辑接口的命名以POJO名称来制定,IPOJO名称Service
例如:
一个的POJO名称为Diary,其对应的业务逻辑接口为IDiaryService

业务逻辑出现类命名:
命名规则:业务逻辑接口出现类的命名以POJO名称来制定
例如:
一个的POJO名称为Diary,对应的业务逻辑接口出现类名为DiaryServiceImpl

⑷ 如何用java打印一棵树

import java.util.LinkedList;/**
* 需求:按层打印一棵树
* 说明:树是保存在一个链表中
* created by wangjunfu on 2017-05-25. */
public class TreeNode {
String data;
TreeNode parent;
LinkedList<TreeNode> childlist;

TreeNode() {
data = null;
childlist = new LinkedList();
parent = null;
} //递归显示并打印一棵树
private static void displayTree(TreeNode f, int level) {

String preStr = ""; // 打印前缀
for (int i = 0; i < level; i++) {
preStr += " ";
} for (int i = 0; i < f.childlist.size(); i++) {
TreeNode t = f.childlist.get(i);
System.out.println(preStr + "-" + t.data); if (!t.childlist.isEmpty()) {
displayTree(t, level + 1);
}
}
}
}

⑸ java中怎么判断一个字符串的前缀和后缀是否与另一个字符串相同

一、

1、String str1 = "abcasdfasdfabc";

String str2 = "abcdsdfasdfasdfasdfasdabc";

if(str1.startsWith(str2.substring(0,2))&&str1.endsWith(str2.substring(str2.length()-3)))

System.out.println("两个字符串前三位和后三位都相同");

else

2、 System.out.println("两个字符串前三位和后三位不相同");

二、写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创建字符串,将数字型字符串转换为数字,将字符串存放到数组中。

用字符数组创建字符串-Write a Java application to determine whether two strings are the same judgment string prefix, suffix and a string compare two strings lexicographically size relationship, retrieve the strings to create a string, converted to a digital numeric string, the string stored in the array, create a string array of characters.

⑹ java语言的所有数据类型分为哪几种

JAVA中一共有八种基本数据类型,分别是:byte、short、int、long、float、double、char、boolean。

1、byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

2、short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

3、int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

4、long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。

5、float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

6、double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

7、boolean:只有true和false两个取值。

8、char:16位,存储Unicode码,用单引号赋值。

(6)java前缀树扩展阅读:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

阅读全文

与java前缀树相关的资料

热点内容
怎么把ps文件变成源文件 浏览:807
如何把图片放进这个文件夹 浏览:530
谁有qq认证图标复制 浏览:881
2014年web服务器测试工具 浏览:192
win7镜像文件怎么用 浏览:983
多数据can怎么发送 浏览:997
什么是夏威夷果种植技术app 浏览:160
上海学习编程哪个地方好 浏览:958
股票软件与交易编程软件哪个好 浏览:216
linux如何查看一个文件的位置 浏览:911
c头文件无法打开源文件stdafx 浏览:750
苹果x的桌面上可以建文件夹 浏览:368
ug8532位破解版安装教程 浏览:490
电脑网络如何重新驱动 浏览:125
win10连接服务器命令 浏览:228
卢克raid活动20升级卷 浏览:969
机票预订什么网站好 浏览:690
读写xml配置文件 浏览:153
java爬虫解析html 浏览:861
约瑟夫集合java 浏览:275

友情链接