java面试(四)--(1)如何设置请求的编码以及响应内容的类型(2)redis的List能在什么场景下使用(3)栈模拟队列

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/JAVA_I_want/article/details/102508643

1. 请你说明一下,如何设置请求的编码以及响应内容的类型?

设置请求的编码:request.setCharacterEncoding(String) utf-8
设置响应内容的类型:response.setContentType(String) text/html; charset=utf-8
or response.setHeader(String, String)

2. 请问redis的List能在什么场景下使用?

list类型是简单的字符串列表,按照插入顺序排序。
list类型主要有以下应用场景:

  1. 消息队列:list类型的lpop和rpush(或者反过来,lpush和rpop)能实现队列的功能,故而可以用Redis的list类型实现简单的点对点的消息队列
  2. 排行榜: list类型的lrange命令可以分页查看队列中的数据. 但是只有定时计算的排行榜才适合使用list类型存储(实时不行).
  3. 最新列表: list类型的lpush命令和lrange命令能实现最新列表的功能,每次通过lpush命令往列表里插入新的元素,然后通过lrange命令读取最新的元素列表,如朋友圈的点赞列表、评论列表。

3.用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

import java.util.Stack;
 
public class Solution {
    Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();
     
    public void push(int node) {
 	stack1.push(new Integer(node));
}
 
 public int pop() {
 	if(stack2.empty()){
 	while(!stack1.empty()){
 	stack2.push(stack1.pop());
 }
 }
 if(stack2.empty())
 	System.out.println("stack1 is empty!");
  
 return stack2.pop().intValue();
 
 } 
}

猜你喜欢

转载自blog.csdn.net/JAVA_I_want/article/details/102508643