「java区间分类」java区间算法
本篇文章给大家谈谈java区间分类,以及java区间算法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java按应用领域不同可以分为那些领域
- 2、Java分为哪三个体系?
- 3、java怎样将集合中的数值数据分区间统计个数:例如(0-1000)有几个人数据,1000-2000有几个数据
- 4、JAVA的几大分类?
java按应用领域不同可以分为那些领域
J2SE:传说中的核心Java。
J2ME:传说中的移动Java,包含核心Java的一个子集和一些自己的包,用于移动设备,储如PDA、手机之类。
J2EE(现在叫Java EE,实际上现在SUN已经不用J2来头来命名了):传说中的企业级Java,用于企业的分步式开发,有一个东西可以让你很容易理解这个概念,那就是用Java写的网站!但是他不仅如此,还包括用于分步式开发的EJB(这个东西才出的时候是天神,之后是狗屎,现在最新的EJB3.0使用了许多业界的新技术,跟前2个版本有本质的不同,不过因为他是重量级的东西,不是对分布式要求很严格的地方,都没使用他。不过真要分步式的话,这个东西是必须的。)、JSP、SERVLET、JNDI、分布式事物等等……
要学习的话,自然是从J2EE 5.0或者现在最新的Java 6开始学,因为它是JAVA的核心,也是基础。之后可以往J2EE方向发展,毕竟这是JAVA平台的重头戏。学JAVA EE,主要就是servlet和JSP,最后先学servlet,这是JAVA平台B/S架构开发的核心,也是JSP的基础,学好servlet后再学JSP你会很轻松,否则你会云里雾里。而且,本身在你网站运行时,所有的JSP都会首先被服务器(如Tomcat)编译成servlet之的运行,再将运行结果生成页面发送回请求客户端。之后,你在自己开发网站时,应该结合servlet和JSP来使用,而不应该唯servlet或者唯JSP,这2样,单单其中一样都不会发挥出最大的效率出来。
以上是从别人那拷的~
个人认为简单的分类就两种:应用程序开发和WEB开发~要细分就看上边的就可以
Java分为哪三个体系?
Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发:
* Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
* Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
* Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
java怎样将集合中的数值数据分区间统计个数:例如(0-1000)有几个人数据,1000-2000有几个数据
集合分组统计处理, 实现的方法很多,简单的写几种方法供参考;(理解后,自行扩展完善)
方法一:(Java8流处理粗略版) 该版本存在的问题:有些区间没有数据,就不打印显示该区间
import java.util.*;
import java.util.stream.*;
public class NumberDemo {
public static void main(String[] args) {
ArrayListInteger list = new ArrayListInteger();
int numbers = 10;// 集合里数字的个数
int space = 1000;// 区间的间隔
// 给集合里添加数字
Random rd = new Random();
for (int i = 0; i numbers; i++) {
list.add(rd.nextInt(5000)); // 集合里每个数字的范围是0~4999
}
funStream(list, space);
}
private static void funStream(ArrayListInteger list, int space) {
// 使用流处理 把 数字分组
MapString, ListInteger map = list.stream().collect(Collectors.groupingBy((num) - {
return "区间:[" + num / space * space + "," + (num / space + 1) * space + ")";// 分组规则
}));
map.forEach((k,v)-{
System.out.println(k);
System.out.println("\t"+v.size()+"个数据");
});
}
}
方法二:(Java8流处理详细版) 就算有的区间是0个数据,照样打印出来
import java.util.*;
import java.util.stream.*;
public class NumberDemo2 {
public static void main(String[] args) {
ArrayListInteger list = new ArrayListInteger();
int numbers = 10;// 集合里数字的个数
int space = 1000;// 区间的间隔
// 给集合里添加数字
Random rd = new Random();
for (int i = 0; i numbers; i++) {
list.add(rd.nextInt(5000)); // 集合里每个数字的范围是0~4999
}
funStream(list, space);
}
private static void funStream(ArrayListInteger list, int space) {
// 使用流处理 把 数字分组
MapInteger, ListInteger map = list.stream().collect(Collectors.groupingBy((num) - {
return num / space;// 分组规则
}));
// 获取集合里的最大值
OptionalInteger maxop = list.stream().collect(Collectors.maxBy(Integer::compareTo));
int max = maxop.orElse(0);
// 计算出区间的数量
int groups = max % space == 0 ? max / space : max / space + 1;
// 打印结果
for (int i = 0; i groups; i++) {
System.out.println("区间:[" + i * space + "," + (i + 1) * space + ")");
System.out.println("\t有" + (map.get(i)==null?0:map.get(i).size()) + "个数据");
// System.out.println("\t"+map.get(i));//把数据打印出来
}
}
}
方法三:(比较传统的方法)
import java.util.*;
public class NumberDemo3 {
public static void main(String[] args) {
ArrayListInteger list = new ArrayListInteger();
int numbers = 10;// 集合里数字的个数
int space = 1000;// 区间的间隔
//给集合里添加数字
Random rd = new Random();
for (int i = 0; i numbers; i++) {
list.add(rd.nextInt(5000)); // 集合里每个数字的范围是0~4999
}
fun(list,space);
}
private static void fun(ArrayListInteger list, int space) {
Collections.sort(list);//排序
int max= list.get(list.size()-1);//取得最大值
int groups = max % space == 0 ? max / space : max / space + 1;//取得区间的数量
HashMapInteger,ArrayListInteger map=new HashMapInteger, ArrayListInteger();//存区间和该区间的数字
for (int i = 0; i groups; i++) {
map.put(i, new ArrayList());
}
//把元素添加到指定的区间
for (int i = 0; i list.size(); i++) {
map.get(list.get(i)/space).add(list.get(i));
}
//打印结果
for (int i = 0; i groups; i++) {
System.out.println("区间:[" + i * space + "," + (i + 1) * space + ")");
System.out.println("\t有"+ map.get(i).size()+"个数据");
//System.out.println("\t"+map.get(i));//把数据打印出来
}
}
}
测试效果如下
区间:[0,1000)
有5个数据
区间:[1000,2000)
有0个数据
区间:[2000,3000)
有1个数据
区间:[3000,4000)
有2个数据
区间:[4000,5000)
有2个数据
JAVA的几大分类?
JAVA有三大分类,分别为:J2ME、J2SE、J2EE。Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。
JAVA ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
扩展资料:
Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
参考资料:百度百科-java
参考资料:百度百科-j2me
参考资料:百度百科-JavaEE
参考资料:百度百科-J2SE
关于java区间分类和java区间算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。