我知道如何使用数组实现链表.例如,我们定义一个结构如下:
struct Node{
int data;
int link;
}
Run Code Online (Sandbox Code Playgroud)
"data"存储信息,"link"将索引存储在下一个节点的数组中.
谁能告诉我使用数组实现链表与"普通"链表相比有什么优缺点?任何建议将不胜感激.
我正在学习Spring,据我了解,当我们在具有通用名称的方法(不是setter方法)上使用@annotation时,该方法的参数将自动装配。
public class MovieRecommender {
private MovieCatalog movieCatalog;
private CustomerPreferenceDao customerPreferenceDao;
@Autowired
public void prepare(MovieCatalog mC,
CustomerPreferenceDao cPD) {
this.movieCatalog = mC;
this.customerPreferenceDao = cPD;
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
因此,在这里,将movieCatalog和customerPreferenceDao字段与mC和cPD的值自动关联。我无法理解的是,这与没有“ @autowired ” 的相同方法有何不同。
当应用于字段名称时,我理解@autowired,但无法理解何时将值显式传递给方法(setter或任何其他方法),那么Spring有什么特别之处?
之前已经提出过这个问题,但是我无法从对这些问题的回答中找出我的代码中的错误.
我试图将java字符串转换为json对象.这是代码:
import org.json.JSONObject;
//Other lines of code
URL seatURL = new URL("http://freemusicarchive.org/api/get/genres.json?api_key=60BLHNQCAOUFPIBZ&limit=2");
//Return the JSON Response from the API
BufferedReader br = new BufferedReader(new InputStreamReader(seatURL.openStream(),Charset.forName("UTF-8")));
String readAPIResponse = " ";
StringBuilder jsonString = new StringBuilder();
while((readAPIResponse = br.readLine()) != null){
jsonString.append(readAPIResponse);
}
JSONObject jsonObj = new JSONObject(jsonString);
System.out.println(jsonString);
System.out.println("---------------------------");
System.out.println(jsonObj);
Run Code Online (Sandbox Code Playgroud)
输出是:
{"title":"Free Music Archive - Genres","message":"","errors":[],"total":"163","total_pages":82,"page":1,"limit":"2","dataset":[{"genre_id":"1","genre_parent_id":"38","genre_title":"Avant-Garde","genre_handle":"Avant-Garde","genre_color":"#006666"},{"genre_id":"2","genre_parent_id":null,"genre_title":"International","genre_handle":"International","genre_color":"#CC3300"}]}
---------------------------
{}
Run Code Online (Sandbox Code Playgroud)
所以,正如你所看到的,jsonstring正在获取数据,但jsonObj却没有.我正在使用org.json JAR.