-
数组对象排序
2017-11-20 23:47:38数组对象排序对数字型数组进行排序可以进行冒泡排序,也可以给sort传一个比较函数,但是数组对象怎么排序,很多人就蒙了,其实它也可以通过给sort传一个比较函数来实现。var arr = [{name: "zs", age: 10}, {name: ...数组对象排序
对数字型数组进行排序可以进行冒泡排序,也可以给sort传一个比较函数,但是数组对象怎么排序,很多人就蒙了,其实它也可以通过给sort传一个比较函数来实现。
var arr = [{name: "zs", age: 10}, {name: "ls", age: 8}]; // 根据对象的name键进行排序 var order1 = function (x, y) { if (x.name < y.name) { return -1; } else if (x.name > y.name) { return 1; } else { return 0; } } console.log(arr.sort(order1)); // 根据对象的age键进行排序 var order2 = function (x, y) { if (x.age < y.age) { return -1; } else if (x.age > y.age) { return 1; } else { return 0; } } console.log(arr.sort(order2));
-
java 动态数组根据对象排序_(一道面试题)对一个对象数组进组排序
2021-03-09 07:24:47这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到.一.编写一个Student对象public classStudent {privateString name;privateInteger age;/***@returnthe name*//***@returnthe name*/...这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到.
一.编写一个Student对象
public classStudent {privateString name;privateInteger age;/***@returnthe name*/
/***@returnthe name*/
publicString getName() {returnname;
}/***@paramname the name to set*/
public voidsetName(String name) {this.name =name;
}/***@returnthe age*/
publicInteger getAge() {returnage;
}/***@paramage the age to set*/
public voidsetAge(Integer age) {this.age =age;
}/***
Title:
*
Description:
*@paramname
*@paramage*/
publicStudent(String name, Integer age) {super();this.name =name;this.age =age;
}/*(non-Javadoc)
* @see java.lang.Comparable#compareTo(java.lang.Object)*/
/*(non-Javadoc)
* @see java.lang.Comparable#compareTo(java.lang.Object)*/}
二.编写测试类主要用到得时Collections这个辅助工具
1.Collections.sort方法支持对对象进组排序
2.使用方法:只要实现Comparator方法.
3.实现目的:主要是告诉这个方法我要用什么方式进行对象的排序
4.这里我将对学生的年龄进行排序,年龄相等的对名字再进行排序
package com.hck.test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ArrayListDemo {
public static void main(String[] args) {
//创建数组并且添加对象
List slist=new ArrayList();
slist.add(new Student("张三", 28));
slist.add(new Student("王五", 23));
slist.add(new Student("老六", 27));
slist.add(new Student("啊四", 21));
slist.add(new Student("大红", 21));
System.out.println("===排序前===");
for (Student student:slist) {
System.out.print(student.getName()+" ");
}
System.out.println();
/**
* Collections.sort方法支持对对象进组排序
* 使用方法:只要实现Comparator方法.
* 这个方法主要是告诉这个方法我要用什么方式进行对象的排序
* 这里我将对学生的年龄进行排序,年龄相等的对名字再进行排序
*/
Collections.sort(slist, new Comparator() {
@Override
public int compare(Student o1, Student o2) {
//大于返回1
if(o1.getAge()>o2.getAge())
{
return 1;
}
//小于返回-1
if(o1.getAge()
{
return -1;
}
//等于的话比较name的大小
//compareTo返回值也是正数,0,负数
//对应的是大于,等于,小于
return(o1.getName().compareTo(o2.getName()));
// TODO Auto-generated method stub
}
});
System.out.println("===排序后===");
//增强for循环语句打印输出
for (Student student:slist) {
System.out.print(student.getName()+" ");
}
}
}
四.实验结果:
五.总结:这个主要是对数组熟悉程度的一个考察.
-
js 数组对象 排序相同的属性
2020-05-08 15:16:32有时候我们需要把相同的参数放一起,比如下面数组对象中,我们需要把spec相同的参数放一起怎么做呢? let arr=[ { name: "蓝色", spec: "颜色", }, { name: "少年", spec: "适用人群", }, ...有时候我们需要把相同的参数放一起,比如下面数组对象中,我们需要把spec相同的参数放一起怎么做呢?
let arr=[ { name: "蓝色", spec: "颜色", }, { name: "少年", spec: "适用人群", }, { name: "黑色", spec: "颜色", }, { name: "年轻人", spec: "适用人群", }, { name: "111", spec: "规格a", }, { name: "222", spec: "规格a", }, { name: "aaa", spec: "规格aa", }, { name: "bbb", spec: "规格aa", }, ] arr.sort((a,b)=>{ if(a['spec']!=b['spec']){ return a['spec'].localeCompare(b['spec']); } }) console.log(arr)
localeCompare是什么东西?定义:用本地特定的顺序来比较两个字符串。
语法:stringObject.localeCompare(target)
参数:target——要以本地特定的顺序与 stringObject 进行比较的字符串。
返回值
1、如果 stringObject 小于 target, localeCompare() 返回小于 0 的数。
2、如果 stringObject 大于 target,localeCompare() 返回大于 0 的数。
3、如果两个字符串相等,localeCompare() 返回 0。
-
java 对象数组 排序_java 对象数组排序的问题,急急急急
2021-02-27 13:27:17以下是我编写的程序,写了一个Score类,里面包含学生的相关信息,在主程序中用ArrayList进行排序,是按照学生成绩排序的,怎么排序打印学生完整信息哦,方法我在Score类里面写了,在用...以下是我编写的程序,写了一...以下是我编写的程序,写了一个Score类,里面包含学生的相关信息,在主程序中用ArrayList进行排序,是按照学生成绩排序的,怎么排序打印学生完整信息哦,方法我在Score类里面写了,在用...
以下是我编写的程序,写了一个Score类,里面包含学生的相关信息,在主程序中用ArrayList进行排序,是按照学生成绩排序的,怎么排序打印学生完整信息哦,方法我在Score类里面写了,在用Collections。binarySearch查找哦。对ArrayList、Collections 的使用不熟练,望牛人在我的程序上小小的改动,错误基本上也没有什么。
package method2;
import java.util.ArrayList;
import java.util.Collections;
public class Test {
public static void main(String args[]){
ArrayList list= new ArrayList();
list.add(new Score(1, "Liming",472));
list.add(new Score(2, "Fangfang",445));
list.add(new Score(3, "Lily",323));
list.add(new Score(4, "Green",540));
list.add(new Score(5, "Mike",332));
Collections.sort(list,new StuScoreComparator());
for(int i=0;i
System.out.println(list.get(i).toString());
}
Collections.binarySearch(list, new Score(1, "Liming",472));
}
}
class StuScoreComparator extends Score implements java.util.Comparator{
public int compare(Object o1,Object o2){
Score score1=(Score) o1;
Score score2=(Score) o2;
return score1.getStuScore()-score2.getStuScore();
}
}
package method2;
/**
*
* @author Liuzhichao
*/
public class Score {
private int stuNumber;
private String stuName;
private int stuScore;
Score(){
}
public Score(int stuNumber,String stuName,int stuScore){
if (stuNumber > 0) {
this.stuNumber = stuNumber;
}
else {
System.out.println("输入的学生学号不正确");
System.exit(1);
}
if (stuScore > 0) {
this.stuScore = stuScore;
}
else {
System.out.println("输入的学生学号不正确");
System.exit(1);
}
this.stuName=stuName;
}//设置学生信息
public void setStuNumber(int stuNumber){
this.stuNumber=stuNumber;
}//设置学生学号
public void setStuScore(int stuScore){
this.stuScore=stuScore;
}//设置学生分数
public void setStuName(String stuName){
this.stuName=stuName;
}//设置学生名字
public int getStuNumber(){
return this.stuNumber ;
}//设置学生学号
public int getStuScore(){
return this.stuScore ;
}//设置学生分数
public String getStuName(){
return this.stuName;
}//获取学生名字
public String getStuInfomation(){
return "名字:"+this.stuName+" 学号:"+this.stuNumber+" 成绩:"+this.stuScore;
}//获取学生信息
}
大家说的都没有错 但是怎么打印输出哦,这几个不太熟悉的类把我搞晕了,把所有学生的信息打印出来,再实现查询学生的信息的功能
o(∩_∩)o...,老师要求用对象数组的。所以才这样写
就在我的主程序test里面改吧
展开
-
java-数组,对象排序总结
2013-04-24 22:10:20怎么样利用Array中的sort将基本数据类型进行逆序排序,也就是从大到小排序。 开始一直以为自己刚学,还不知道更好的办法,就一直在网上找哇找,其间发现了许多方法, 很繁杂,很乱,但其实都不是针对我的问题的... -
js对json对象数组按属性排序怎么才能支持中文呢?
2016-01-18 02:11:47* 属性排序公共方法 * direction:排序方向desc,asc * sort_data:排序数据 * name:三角形图标daom名称 * tbody:数据显示在哪个tbody * */ function sorting(direction,sort_data,name,tbody){ if... -
int类型数组实现冒泡排序
2020-07-30 14:03:15首先,我们要进行冒泡排序,我们需要一个排序对象,这里我们以int类型的数组为例,这里先声明一个int类型的数组,声明一个数组有两种方式,一种是动态初始化,一种是静态初始化,我们要对数组内的元素进行排序,所以... -
(一道面试题)对一个对象数组进组排序
2017-11-15 20:32:00这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到. 一.编写一个Student对象 public class Student { private String name; private Integer age; /** * @return the name */ ... -
C++ 用vector创建字符串数组对象,编写函数,使得数组中的字符串按大小排序
2021-04-18 19:46:20但是在自定义的函数不知道怎么去数组中的字符串按大小排序</strong></p> 题目要求: 用vector创建字符串数组对象,长度为5(30分)。 (1)手动输入以下5个英文句子,存入... -
Java对象排序之比较器(数组中的对象排序,堆中的对象排序(优先级队列),红黑树中的对象排序)
2021-01-06 13:04:02举个例子,现在有一个学生对象,学生对象中有姓名、年龄、学号三个属性,现在有一个学生对象的数组,想要对数组中的学生进行排序,根据年龄升序排序。 实现Comparator接口并重写compara方法,在compara方 -
怎么让数组按照对象里的属性排序
2019-04-18 07:47:57markers=[ { "id" :1, "ShopId" : "7A3E932977BF3C5A" , "ShopNick" : "家味康旗舰店" , ... //按照id 从0-7排序 复制代码 转载于:https://juejin.im/post/5cb828d5e51d456e693f48c6 -
在JS里有数组,数组里有N个Object对象,object里面有日期,按日期进行数组排序,怎么做?
2017-08-03 05:44:04在JS里有数组,数组里有N个Object对象,object里面有日期,按日期进行数组排序,怎么做? 可以弄一个demo -
comparable对象在数组中排序的判断
2019-01-29 22:49:09一值都对Comparable对象中compareTo方法的实现对其在数组中的排序不太明确,每次遇到这个问题,都会迟钝一会,今天终于看明白怎么判断了,希望下次再看见不再迟钝。 // 如果返回1,则o1要排在o2后面,目前来看,... -
【Java】对象数组按照某属性排序
2020-10-15 15:58:19要排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较,所以我们要自己在类内写两个类的比较的方法,也就是告诉按照那个属性或者那种方式来给对象数组排序,自定义比较算法也就是实现... -
Java对象数组按照其属性排序的方法
2018-11-14 23:17:04当我们有一组物品也就是一个对象数组时,我们会希望这组物品按照它的某个属性来排序 也就是需要对象数组按照其属性排序 一 类定义时实现Comparable接口,定义自身的比较算法。 要排序就要有比较的方法, 因为是... -
【反射】基于反射的实际应用——任意对象数组的排序
2012-03-28 17:41:04日常应用中,经常碰到这么样...这样的话重复代码有多少,更万恶的就是如果你根本不知道运行时会有怎么的对象数组需要进行什么排序,这样的代码怎么写?我想很多人都崩溃了,呵呵,其实this is so easy 那么总结下 -
java对象怎么排序_Java对象排序
2021-03-18 08:40:29如果我们需要对一个对象数组进行排序,我们可以使用Arrays.sort()方法。如果我们需要排序一个对象列表,我们可以使用Collections.sort()方法。public static void main(String[] arg0) {List list = new ArrayList&... -
Java怎么顺序 或 逆序排序数组
2019-04-15 21:11:29对数组进行顺序排序 可使用Arrays类的sort( int[ ] a)方法 ...排序时,只需要在sort方法中,传入要排序的数组和一个比较器对象即可 public class Test { public static void main(String[] args)... -
求教:根据某个数组数据结构,对list对象进行排序
2012-10-16 16:44:16有1个数组记录了排序的用户对象ID [code="java"]String[] sortId = new String[] { "1", "3", "2" };[/code] 然后有4个对象,他们放入list的顺序是1,2,3,4 [code="java"] SysUser user1 = new SysUser(); ... -
javascript 数组排序函数
2021-01-21 13:15:30arrayobj.sort(sortfunction); 参数:sortFunction 可选项。是用来确定元素顺序的函数的名称。... 以上的方法在一维的排序还是很方便的,但像SQL语句中的ORDER BY 一样的多键值排序由怎么做呢? 多维 -
字符串数组排序
2019-11-14 20:42:143.问题:以前排的是整数,比较用的比较运算符,现在是字符串对象字符串对象怎么比较呢?对象中提供了用于字符串对象比较的功能 public class StringTest_1 { public static void main(String[] args){... -
ajax请求的json数据,获取的对象数组中,每个对象的属性顺序是怎么排的,这个排序的依据是什么呢
2019-05-13 21:00:45如图中描述的,我两种json数据,第一种和第二种区别就是前者的每个对象中后三个属性都加了一个文字**“年”**,为什么请求后输出的数组对象中每个对象属性顺序变了呢,这个顺序是怎么决定的呢,依据是什么呢,还望... -
arrays类详解,util工具包以及如何查看学习一个新类,打印输出数组hashcode及数组内容,数组排序,遍历输出...
2021-02-01 09:53:47带static修饰的方法和变量可以直接调用,没有static修饰的静态类需要创建对象来调用。 ==Array是大写代表这是一个类,且是static修饰的,故可以直接调用该类以及其下的方法,比如可以直接用Arrays.toString(a)调用... -
怎么按照字母的大小给对象数组的某一个属性进行排序
2020-11-11 15:51:51const copy = [ { bands: 1, satelliteId: "ZY3_02", sensorId: "MUX" }, { bands: 1, satelliteId: "AY3_02", sensorId: "MUXz" }, { bands: 1, satelliteId: "BY3_02", . -
数组排序的一道面试题
2020-05-06 23:44:23数组、对象这些都是面试中不可避免的一些面试题 下面我们看一下面试遇到的一道面试题 要求:数组中包含数字、字母让你去排列顺序 我们很容易就想到sort方法可以进行排序,但是这里面还有个要求,字母 那么我们要怎么... -
arr数组怎么取值_JS 面试之数组的几个不 low 操作
2020-12-29 13:12:07前言本文主要从应用来讲数组api的一些骚操作,如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等。上面这些应用场景你可以用一行代码实现吗?1.扁平化n维数组1.终极篇 [1,[2,3]... -
arr数组怎么取值_JS面试之数组的几个不low操作
2020-12-29 13:12:07如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等;上面这些应用场景你可以用一行代码实现?1.扁平化n维数组1.终极篇[1,[2,3]].flat(2) //[1,2,3][1,[2,3,[4,5]].flat(3) //[1... -
用java 编写一个 数组排序之后用2分法查找特定的对象。
2015-10-26 13:07:34我会排序,会查找基本类型的数组,但不知道怎么查找引用类型的数组。知道的朋友说下 谢谢了!  -
用vscode写vue代码 v-for循环原生对象形式的数组排序方法?
2020-11-19 16:24:43<p>function sortByKey(array, key){<!-- --> return array.sort(function(a,b){<!-- --> var x = a[key]; var y = b[key]; return ((x<... 怎么解决?</p>