15 基础知识

1  按list中的对象中的某个值的大小就行排序

2  转百分比的方法:

package com.pengjunlee.hive.lianxi;

import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.pengjunlee.hive.controller.Result;


public class lianxi {
	
	public static void main(String[] args) {
		int num0=23,num1=56,num2=1,num3=0;
		int num=num0+num1+num2+num3;
		
		List<Result> dataList = new ArrayList<Result>();
		Result result0 =new Result("蓝牙开门","a",num0);
		Result result1=new Result("远程开门","b",num1);
		Result result2=new Result("密码开门","b",num2);
		dataList.add(result0);
		dataList.add(result1);
		dataList.add(result2);
		Collections.sort(dataList, new Comparator<Result>(){
            /*
             * int compare(Person p1, Person p2) 返回一个基本类型的整型,
             * 返回负数表示:p1 小于p2,
             * 返回0 表示:p1和p2相等,
             * 返回正数表示:p1大于p2
             */
            public int compare(Result p1, Result p2) {
                //按照Person的年龄进行升序排列
                if(p1.getNum() > p2.getNum()){
                    return 1;
                }
                if(p1.getNum() == p2.getNum()){
                    return 0;
                }
                return -1;
            }
        });
        System.out.println("排序后的结果:"+JSONObject.toJSONString(dataList)); 
        
     // 创建一个数值格式化对象
	NumberFormat numberFormat = NumberFormat.getInstance();
	// 设置精确到小数点后2位
	numberFormat.setMaximumFractionDigits(2);
    System.err.println(numberFormat.format((float) num0 / (float) num * 100)+"%");
    
    int a = 7;
    
	int b = 9;

	// 创建一个数值格式化对象

	NumberFormat numberFormat1 = NumberFormat.getInstance();

	// 设置精确到小数点后2位

	numberFormat1.setMaximumFractionDigits(2);

	String result = numberFormat1.format((float) a / (float) b * 100);

	System.out.println("num1和num2的百分比为:" + result + "%");
	
		
	}

	
	
	
}

3list:  和数组

 前台数据要返回{20,30,10,45,20,10,30};  可以通过数组还可以通过list ,list可以追加数据,但数组固定个数

===========================

Integer[]  arr=new arr[7];

for(int i=0;i<arr.length;i++){

          System.out.println("一维数组:for:"+str[i]);

}

// 增强for形式  s遍历所有数组
 for(String s:str){
      System.out.println("一维数组增强:for:"+s);
}

===================

List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
方法一:
超级for循环遍历
for(String attribute : list) {
  System.out.println(attribute);
}
方法二:
对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历:
for(int i = 0 ; i < list.size() ; i++) {
  system.out.println(list.get(i));
}
方法三:
集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代
Iterator it = list.iterator();
while(it.hasNext()) {
  System.ou.println(it.next);
}

追加方法: list.add(a);   //在后边追加

                   list .set( 1, a);   //在指定位置追加

倒序:

          Collections.reverse(dataList); 

找最大值:

          list = {20,30,10,45,20,10,30}

          int max= Collections.max(arrList);

=====================================

转json

引依赖包: fastjson

 System.out.println(JSON.toJSONString(arrList));

 

=================================

//Integer arr[]={20,30,10,45,20,10,30};
                int max = (int) Collections.max(Arrays.asList(arr));
                int length=String.valueOf(max).length();
                String str="1";
                DecimalFormat g2=new DecimalFormat("0.000000");
                String endZeroStr = g2.format(Integer.valueOf(str));
                int parent=Integer.parseInt(endZeroStr.replace(".","").substring(0,length));
                Map<String,Object> dataMap = new HashMap<>();
                Integer count =max%parent+max;
                dataMap.put("arr",arr);
                dataMap.put("max",count)

===========================

封装json格式:

list中放对象()

list中方map

==============================

int -> String

int i=12345;
String s="";
第一种方法:s=i+"";
第二种方法:s=String.valueOf(i);
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

String -> int

s="12345";
int i;
第一种方法:i=Integer.parseInt(s);
第二种方法:i=Integer.valueOf(s).intValue();
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

以下是答案:

第一种方法:s=i+"";   //会产生两个String对象
第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象

第一种方法:i=Integer.parseInt(s);//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue();//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象

--------------------------------------------------------------------

1如何将字串 String 转换成整数 int?

A. 有两个方法:

1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

注: 字串转成 Double, Float, Long 的方法大同小异.

2 如何将整数 int 转换成字串 String ?

A. 有叁种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

注: Double, Float, Long 转成字串的方法大同小异.

 

http://blog.sina.com.cn/s/blog_4f9d6b1001000bfo.html

=======================================

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值