使用maxmin方法来遍历数组并求其中的最大和最小值
来源:互联网 发布:java中return返回值 编辑:程序博客网 时间:2024/04/28 00:11
今儿使用了Java泛型的知识写了一道遍历数组求字符串最大和最小值的程序,结果是漏洞百出,书上的写的东西太深奥了,结合自己写的程序,好好总结一下。
Pair.java是泛型类:
// Pair.javapublic class Pair<T> { //对泛型T的声明private T first;private T second;public Pair() {first = null;second = null;}public Pair(T first, T second ) {this.first = first;this.second = second;}public T getFirst() {return first;}public void setFirst(T Value) {first = Value;}public T getSecond() {return second;}public void setSecond(T Value) {second = Value;}}
下面是main()实现类:
public class PairTest {public static void main(String[] args) {// TODO Auto-generated method stubString[] a = {"Mary", "Sam", "a"};Pair<String> pr = ArrayAlg.maxmin(a);System.out.println("Max:"+pr.getFirst());//调用Pair中的get方法System.out.println("min:"+pr.getSecond());}}class ArrayAlg {public static Pair<String> maxmin(String[] a) {if (a==null || a.length==0) {//此处为何不调换位置?因为a对象取null,a.length在a取null时在左就会出错。提示NullPointExpection。return null;}int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE; //若此处也为0,则min不会在len长度里面,两者没有交集,min的值为null。Pair<String> p = new Pair<String>();for (String s : a) {if(s==null){//这里是为了避免数组中的元素出现null的情况,直接跳过null元素的情况continue;}int len =s.length();if(len > max){max = len ;p.setFirst(s);}if (len < min){min = len;p.setSecond(s);}}return p;}}
关于int max = Integer MIN_VALUE,max已经是int类型的最大值,然后怎么找到一个比它还大的值呢?min也一样,已经是最小了,怎么还找得到更小的值?应该是给max赋与int最小值,这样 len 的数就比max大。而int min = Integer MAX_VALUE,min已经是int类型的最小值,已经没有更小的了,因此就给min赋予int的最大值,这样子len的数就比min的小,那么len也就是最小的数了。
0 0
- 使用maxmin方法来遍历数组并求其中的最大和最小值
- 三个数求其中的最大值和最小值
- [JAVA]给定一个整形数组,求其和、平均数、最大值及最小值、打印数组中的数据
- 求数组中的最大和最小值
- 算法--求数组中的最大和最小值
- 得到数组中的最大,最小值
- 获取数组中的最大、最小值
- 求数组中的最大最小值
- 自己想出来的,用静态内部类实现一次遍历求数组元素的最大值和最小值的方法
- 编程之美之寻找数组中的最大和最小值
- 【2016.1.27】【数组】《求数组中的最大值和最小值》方法
- 一个正负数组,求其最大的连续子串和
- 遍历一次数组,求其方差
- 使用数组,输入N个数,并求其平均值
- 使用list()函数来遍历数组并取值
- Js 获取数组最大和最小值
- 同时查找数组中最大和最小值
- 设计一个最优算法来查找n个元素数组中的最大值和最小值
- 处理EmguCV3.0.0 “Emgu.CV.MatInvoke”的类型初始值设定项引发异常。的报错
- abstract和interface
- zoj 2100 Seeding 【DFS 判断是否能经过每个点一次遍历完整个图】
- 冰山查询
- Jsmooth Java文件打包成exe文件(可以在没安装JDK的环境下运行)
- 使用maxmin方法来遍历数组并求其中的最大和最小值
- 欢迎使用CSDN-markdown编辑器
- IOS CLLocationManager 设置定位请求的方式
- 【POJ2138】【Travel Games】
- java学习笔记——封装
- 【HDU4632】【Palindrome subsequence】
- 【HDU2476】【String painter】
- 隐马尔可夫模型(一)---基本概念
- STL之一:vector用法详解