精华内容
下载资源
问答
  • 数组对象排序

    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));
    展开全文
  • 这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到.一.编写一个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()+" ");

    }

    }

    }

    四.实验结果:

    7846bc6bd80c2dec3fba28a83b825e49.png

    五.总结:这个主要是对数组熟悉程度的一个考察.

    展开全文
  • 有时候我们需要把相同的参数放一起,比如下面数组对象中,我们需要把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。

    展开全文
  • 以下是我编写的程序,写了一个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将基本数据类型进行逆序排序,也就是从大到小排序。 开始一直以为自己刚学,还不知道更好的办法,就一直在网上找哇找,其间发现了许多方法, 很繁杂,很乱,但其实都不是针对我的问题的...
  • * 属性排序公共方法 * direction:排序方向desc,asc * sort_data:排序数据 * name:三角形图标daom名称 * tbody:数据显示在哪个tbody * */ function sorting(direction,sort_data,name,tbody){ if...
  • 首先,我们要进行冒泡排序,我们需要一个排序对象,这里我们以int类型的数组为例,这里先声明一个int类型的数组,声明一个数组有两种方式,一种是动态初始化,一种是静态初始化,我们要对数组内的元素进行排序,所以...
  • 这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到. 一.编写一个Student对象 public class Student { private String name; private Integer age; /** * @return the name */ ...
  • 但是在自定义的函数不知道怎么去数组中的字符串按大小排序</strong></p> 题目要求: 用vector创建字符串数组对象,长度为5(30分)。  (1)手动输入以下5个英文句子,存入...
  • 举个例子,现在有一个学生对象,学生对象中有姓名、年龄、学号三个属性,现在有一个学生对象数组,想要对数组中的学生进行排序,根据年龄升序排序。 实现Comparator接口并重写compara方法,在compara方
  • markers=[ { "id" :1, "ShopId" : "7A3E932977BF3C5A" , "ShopNick" : "家味康旗舰店" , ... //按照id 从0-7排序 复制代码 转载于:https://juejin.im/post/5cb828d5e51d456e693f48c6
  • 在JS里有数组数组里有N个Object对象,object里面有日期,按日期进行数组排序怎么做? 可以弄一个demo
  • 一值都对Comparable对象中compareTo方法的实现对其在数组中的排序不太明确,每次遇到这个问题,都会迟钝一会,今天终于看明白怎么判断了,希望下次再看见不再迟钝。 // 如果返回1,则o1要排在o2后面,目前来看,...
  • 排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较,所以我们要自己在类内写两个类的比较的方法,也就是告诉按照那个属性或者那种方式来给对象数组排序,自定义比较算法也就是实现...
  • Java对象数组按照其属性排序的方法

    千次阅读 2018-11-14 23:17:04
    当我们有一组物品也就是一个对象数组时,我们会希望这组物品按照它的某个属性来排序 也就是需要对象数组按照其属性排序 一 类定义时实现Comparable接口,定义自身的比较算法。 要排序就要有比较的方法, 因为是...
  • 日常应用中,经常碰到这么样...这样的话重复代码有多少,更万恶的就是如果你根本不知道运行时会有怎么对象数组需要进行什么排序,这样的代码怎么写?我想很多人都崩溃了,呵呵,其实this is so easy 那么总结下
  • 如果我们需要对一个对象数组进行排序,我们可以使用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)...
  • 有1个数组记录了排序的用户对象ID [code="java"]String[] sortId = new String[] { "1", "3", "2" };[/code] 然后有4个对象,他们放入list的顺序是1,2,3,4 [code="java"] SysUser user1 = new SysUser(); ...
  • arrayobj.sort(sortfunction); 参数:sortFunction 可选项。是用来确定元素顺序的函数的名称。... 以上的方法在一维的排序还是很方便的,但像SQL语句中的ORDER BY 一样的多键值排序怎么做呢? 多维
  • 字符串数组排序

    2019-11-14 20:42:14
    3.问题:以前排的是整数,比较用的比较运算符,现在是字符串对象字符串对象怎么比较呢?对象中提供了用于字符串对象比较的功能 public class StringTest_1 { public static void main(String[] args){...
  • 如图中描述的,我两种json数据,第一种和第二种区别就是前者的每个对象中后三个属性都加了一个文字**“年”**,为什么请求后输出的数组对象中每个对象属性顺序变了呢,这个顺序是怎么决定的呢,依据是什么呢,还望...
  • 带static修饰的方法和变量可以直接调用,没有static修饰的静态类需要创建对象来调用。 ==Array是大写代表这是一个类,且是static修饰的,故可以直接调用该类以及其下的方法,比如可以直接用Arrays.toString(a)调用...
  • const copy = [ { bands: 1, satelliteId: "ZY3_02", sensorId: "MUX" }, { bands: 1, satelliteId: "AY3_02", sensorId: "MUXz" }, { bands: 1, satelliteId: "BY3_02", .
  • 数组对象这些都是面试中不可避免的一些面试题 下面我们看一下面试遇到的一道面试题 要求:数组中包含数字、字母让你去排列顺序 我们很容易就想到sort方法可以进行排序,但是这里面还有个要求,字母 那么我们要怎么...
  • 前言本文主要从应用来讲数组api的一些骚操作,如一行代码扁平化n维数组数组去重、求数组最大值、数组求和、排序对象数组的转化等。上面这些应用场景你可以用一行代码实现吗?1.扁平化n维数组1.终极篇 [1,[2,3]...
  • 如一行代码扁平化n维数组数组去重、求数组最大值、数组求和、排序对象数组的转化等;上面这些应用场景你可以用一行代码实现?1.扁平化n维数组1.终极篇[1,[2,3]].flat(2) //[1,2,3][1,[2,3,[4,5]].flat(3) //[1...
  • 我会排序,会查找基本类型的数组,但不知道怎么查找引用类型的数组。知道的朋友说下 谢谢了! ![图片说明](https://img-ask.csdn.net/upload/201510/26/1445864753_164814.jpg)
  • <p>function sortByKey(array, key){<!-- -->  return array.sort(function(a,b){<!-- -->  var x = a[key];  var y = b[key];  return ((x<... 怎么解决?</p>

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 225
精华内容 90
关键字:

数组对象怎么排序