「javajosn排序」选择排序JAVA
今天给各位分享javajosn排序的知识,其中也会对选择排序JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中处理JSON的开源工具都有些什么?那个比较好用
- 2、Java数组排序 几种排序方法详细一点
- 3、json格式的数据如何排序?
- 4、JAVA中按原顺序遍历JSONObject
- 5、用Java语言:从下列Json数组中只展示“productTypeName=公路零担”的数据集?
- 6、怎么对一个json数据进行排序?
java中处理JSON的开源工具都有些什么?那个比较好用
我用过的有jackson,谷歌的gson,阿里的fastjson
fastjson在遍历JSONObject的时候顺序不是有序的,想要有序还得改源码,比较麻烦,序列化对象时属性的顺序也不能保证,是我放弃使用的主要原因
gson是用起来是最痛快的,一句话就能解决
String string = new Gson().toJson(user);
User user = new Gson().fromeJson(string, User.class);
特点是不报错,如果输入的json字符串和Java Bean的属性对应不上,相应属性会为null或默认值
这是优点还是缺点就见仁见智了,至少我在转换一些不太规则的API返回值时还是挺方便的。
Java数组排序 几种排序方法详细一点
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
1利用Arrays带有的排序方法快速排序
public class Test2{
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrays.sort(a); //进行排序
for(int i: a){
System.out.print(i);
}
}
}
2冒泡排序算法
public static int[] bubbleSort(int[] args){//冒泡排序算法
for(int i=0;iargs.length-1;i++){
for(int j=i+1;jargs.length;j++){
if (args[i]args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
3选择排序算法
public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;iargs.length-1 ;i++ ){
int min=i;
for (int j=i+1;jargs.length ;j++ ){
if (args[min]args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
4插入排序算法
public static int[] insertSort(int[] args){//插入排序算法
for(int i=1;iargs.length;i++){
for(int j=i;j0;j--){
if (args[j]args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
json格式的数据如何排序?
和普通的排序也没什么区别。 HTML
HEAD
script
function sort() {
var d = {"CataId":"50","items":[
{"Money":"3.87","pic":"img1/1.jpg","name":"物品1"},
{"Money":"1.87","pic":"img1/2.jpg","name":"物品2"},
{"Money":"2.87","pic":"img1/3.jpg","name":"物品3"}
]}
var items = d.items;
var t;
for (var i = 0; i items.length - 1 ; i++) {
for(var j = 1; j items.length; j++) {
if (items[i].Money items[j].Money) {
t = items[i];
items[i] = items[j];
items[j] = t;
}
}
} for (var i = 0; i items.length ; i++) {
alert(items[i].name);
}
}
/script
/HEAD BODY onload="sort();"
/BODY
/HTML
JAVA中按原顺序遍历JSONObject
正常的玩法应该是这样, 因为 ObjectMapper 有各种配置, 可以更好的实现转换, 比如 解析数据顺序, 忽略错误字段 等等 高端大气上档次的东西, 你的方法已经被时代淘汰了。
ObjectMapper objectMapper = new ObjectMapper();
Map map = objectMapper.readValue(resultStr,LinkedHashMap.class);
用Java语言:从下列Json数组中只展示“productTypeName=公路零担”的数据集?
java处理json,最经典的做法还是将String字符串转换成对象来处理。
需要借助第三方jar包,常见的第三方json处理jar包有:阿里巴巴的fastjson,谷歌的gson还有诸如jackson之类的。
我习惯用gson:
1、引入gson依赖或去网上下载其jar包:
dependency
groupIdcom.google.code.gson/groupId
artifactIdgson/artifactId
version2.3.1/version
/dependency
2、根据json串,定义对象:
首先定义json最外层,我称其为Response,Response中有根节点data:
这里我用了lombok的@Data注解,自动生成getter、setter、toString等方法。
然后定义了根节点对象Data1,里面有Record集合records:
之后就是定义Record的各个字段:
现在我就有了完整的数据结构,使用gson进行转换即可:
接下来拿着response对象进行正常的java逻辑处理就行:
完整代码:
public class TController {
public static void main(String[] args) {
String jsonString = "{\n" +
"\"data\":{\n" +
"\"records\":[\n" +
"{\n" +
"\"couponName\":\"\",\n" +
"\"payTime\":\"2021-11-15 11:11:33\",\n" +
"\"providerEndAddress\":\"\",\n" +
"\"paidMoney\":268,\n" +
"\"weihuUserId\":\"0\",\n" +
"\"productTypeName\":\"公路零担\"\n" +
"},\n" +
"{\n" +
"\"couponName\":\"\",\n" +
"\"payTime\":\"2021-11-15 11:11:33\",\n" +
"\"providerEndAddress\":\"\",\n" +
"\"paidMoney\":268,\n" +
"\"weihuUserId\":\"0\",\n" +
"\"productTypeName\":\"航空运输\"\n" +
"}\n" +
"]\n" +
"}\n" +
"}";
Gson gson = new Gson();
Response response = gson.fromJson(jsonString, Response.class);
Data1 data = response.getData();//取出data
ListRecord records = data.getRecords();//取出records
for (int i = 0; i records.size(); i++) {
//循环判断records中的数据,ProductTypeName不为“公路零担”则移除
if (!"公路零担".equals(records.get(i).getProductTypeName())) {
records.remove(i);
i--;
}
}
data.setRecords(records);//覆盖原有的records
response.setData(data);//覆盖原有的data
System.out.println(gson.toJson(response, Response.class));//转成json字符串输出
}
@Data
private class Response {
private Data1 data;
}
@Data
private class Data1 {
private ListRecord records;
}
@Data
private class Record {
private String couponName;
private String payTime;
private String providerEndAddress;
private String paidMoney;
private String weihuUserId;
private String productTypeName;
}
}
运行结果:
怎么对一个json数据进行排序?
只能先将其所有属性提取出来,然后排序,之后再逐一赋值,代码如下:
function sortObject(obj)
{
// 先获取所有属性名
var keys = [];
for (var key in obj)
{
keys.push(key);
}
// 排序
keys.sort();
// 导出新的对象
var r = {};
for (var i = 0; i keys.length; i++)
{
key = keys[i];
r[key] = obj[key];
}
return r;
}
var result = {
'a3': 3,
'a2': 2,
'a1': 1
}
// 输出测试
console.log(result, sortObject(result));
输出结果为:
Object {a3: 3, a2: 2, a1: 1} Object {a1: 1, a2: 2, a3: 3}
成功!
关于javajosn排序和选择排序JAVA的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-11,除非注明,否则均为
原创文章,转载请注明出处。