String 如何在arraylist中获得歌曲名称和评级?

String 如何在arraylist中获得歌曲名称和评级?,string,arraylist,int,String,Arraylist,Int,如何制作带有歌曲名称和评级的arraylist?现在,我只是在歌曲名称前加上一个数字,然后使用子字符串来提取评分,但我需要对评分进行排序,找到评分最高的歌曲——使用这种方法(在我的世界中)非常复杂。有没有办法将歌曲与评级(1-5)联系起来?我在考虑LinkedList,但这对我的技能来说太复杂了,如果这是唯一的方法的话。欢迎大家提出意见。提前谢谢 以下是我的主要方法: // Create band Band Beatles = new Band("Beatles");

如何制作带有歌曲名称和评级的arraylist?现在,我只是在歌曲名称前加上一个数字,然后使用子字符串来提取评分,但我需要对评分进行排序,找到评分最高的歌曲——使用这种方法(在我的世界中)非常复杂。有没有办法将歌曲与评级(1-5)联系起来?我在考虑LinkedList,但这对我的技能来说太复杂了,如果这是唯一的方法的话。欢迎大家提出意见。提前谢谢

以下是我的主要方法:

    // Create band
    Band Beatles = new Band("Beatles");

    // Add musicians
    Beatles.musician.add("John Lennon");
    Beatles.musician.add("Paul McCartney");
    Beatles.musician.add("George Harrison");
    Beatles.musician.add("Ringo Starr");

    // Add songs (first number is popularity of the song)
    Beatles.songs.add("5Yesterday");
    Beatles.songs.add("5Let it be");
    Beatles.songs.add("3I Saw Her Standing There");
    Beatles.songs.add("2Misery");
    Beatles.songs.add("4Love Me Do");

    //Prints out all songs by Beatles, and their rating
    System.out.println(Beatles.musician);
    Beatles.getBandSongs();
这是我的乐队课:

import java.util.ArrayList;

public class Band {

public String bandName;
public ArrayList<String> musician = new ArrayList<String>();
public ArrayList<String> songs = new ArrayList<String>();

// Constructor
public Band(String bandName) {
    this.bandName = bandName;
}

public void getBandSongs(){
    for (String s : songs) {
        int rating = Integer.parseInt(s.substring(0,1));
        s = s.substring(1);
        System.out.println("Rating: " + rating + " - Song name: " + s);
    }
}
}
import java.util.ArrayList;
公营乐队{
公共字符串bandName;
公共ArrayList音乐家=新ArrayList();
public ArrayList songs=new ArrayList();
//建造师
公共波段(字符串波段名称){
this.bandName=bandName;
}
公共歌曲{
用于(字符串s:歌曲){
int rating=Integer.parseInt(s.substring(0,1));
s=s。子串(1);
System.out.println(“评级:+Rating+”-歌曲名称:+s);
}
}
}

我将定义一个名为Song的新类,它有两个字段:一个指定歌曲名称的字符串和一个歌曲评级的整数。覆盖默认的compareTo()方法,以便可以根据歌曲的评级进行比较。然后,您可以将歌曲放入ArrayList,并使用Collections.max()等方法获得最高评级的歌曲。祝你好运。

标签没有真正告诉我-这是java还是C?@drew_w:这是java:你可以从导入java命令中看出!是的。它的Java im learning:)@AaronB Good eye-我错过了这一点,因为它不在代码部分。不管怎样,这里最简单的解决方案是为“Song”创建一个类,该类在类中同时包含歌曲名称和评级。这些可以添加到数组列表中,而不是使用字符串。