题解 | #记录点赞用户#

记录点赞用户

https://www.nowcoder.com/practice/19a766a67cdc4eb0a354d70597cf008b

import java.util.*;

/*
方法:采用HashSet集合,以及它的具体方法,用迭代器方法来取对象。
*/
public class Main {

    public static void main(String[] args) {
        LikeRecorder recorder = new LikeRecorderImpl();

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String name = scanner.next();
            recorder.like(name);
        }

        System.out.println(Arrays.toString(recorder.getLikeUsers()));
    }

}

/**
 * 点赞记录器
 */
interface LikeRecorder {

    /**
     * 若用户没有点赞过,则记录此次点赞行为。
     * 若用户曾经点赞过,则删除用户点赞记录。
     *
     * @param username 用户名
     */
    void like(String username);
    /**
     * 返回所有点赞的用户名
     *
     * @return 用户名数组
     */
    String[] getLikeUsers();



}

class LikeRecorderImpl implements LikeRecorder {
HashSet hs = new HashSet();
    // write your code here......
    public void like(String username){
        
        if(username!=null){
            if(!hs.contains(username)){
                hs.add(username);
            }else{
                hs.remove(username);
            }
        }
        
    }
    public String[] getLikeUsers(){
        int i = 0;
        String[] likename = new String[hs.size()];
        Iterator<String> ir  = hs.iterator();
        
        while(ir.hasNext()){//i<hs.size()
            likename[i] = ir.next();
            i++;
        }        
        return likename;
    }

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务