【问题标题】:sorting linked list in alphabetical order按字母顺序排序链表
【发布时间】:2021-08-10 14:03:28
【问题描述】:

我想订购节点选择的字符串变量。这是明天的作业。

    public void sortSongName() {
        
        DefaultSongs sortedList = new DefaultSongs();
        
        int temp= Integer.MAX_VALUE;
        Song curr=root;
        Song hold = null;
        
        while(root.nextSong != null) {
            
            if(curr.getSongName().charAt(0)<hold.getSongName().charAt(0)) {
                hold=curr;
                curr=root.nextSong;
            }else {
                curr=root.nextSong;
            }
            
            sortedList.createSong(root.nextSong.getSongName(),root.nextSong.getBandName() , root.nextSong.getDuration());
            deleteSong(root.nextSong.getSongName());
            sortSongName();
        }
    }

【问题讨论】:

标签: java linked-list alphabetical-sort


【解决方案1】:

假设你的歌曲类看起来像这样

public class Song {
   private String name;

   public String name() {
       return name;
   }

   public void setName(final String name) {
       this.name = name;
   }
}

DefaultSongs 类只是一个包含歌曲列表的仓库

public class DefaultSongs {

   private final List<Song> songList;

   public DefaultSongs() {
       this.songList = new ArrayList<>();
   }

   public List<Song> songList() {
       return songList;
   }
}

最简单的方法是使用 java 流

public void sortSongsByName(){
    songList.stream().sorted(Comparator.comparing(Song::name));
}

【讨论】:

    【解决方案2】:

    最简单的方法是使用 Collections.sort(); 例如:

     List<String> songs = Arrays.asList("Bam","Cam", "Am","Dam");
            Collections.sort(songs);
            System.out.println(songs);
    

    这将为您提供按字母顺序排列的列表。

    【讨论】:

      猜你喜欢
      • 2019-06-12
      • 1970-01-01
      • 2020-10-12
      • 2019-05-14
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多