-4
別のクラスから取得したコントローラの値の一覧があります。リストには「ステータス」の値が含まれています。ステータスには、OK、Bad、CRITICALなどの異なる値が格納されます。私はそれぞれの値を抽出しようとしています。 IFリスト値 "status"にOKが含まれている場合は、それを他のものと同じようにOKlistに入れます。以下は私のコードスニペットと私が何をしたかです。リストに特定の値が含まれている場合、リストを別のリストに分割するにはどうすればよいですか?
クラススニペット
public class Album implements Runnable {
//doing many stuff then
memoryUtilization = 100 - memoryUtilization;
if (memoryUtilization <= badThreshold
&& memoryUtilization > criticalThreshold) {
Status = "BAD";
}else if (memoryUtilization <= criticalThreshold) {
Status = "CRITICAL";
}
else {
Status = "OK";
}
data.add(new AlbumModel (Status));
コントローラスニペット
@Controller
public class IndexController {
@Autowired
private AlbumList albumL;
public ModelAndView getdata() throws IOException {
List<AlbumModel> list = albumL.getList();
System.out.println(list);
アウトプット
[Status: OK,Status: OK,Status: OK,Status: OK,Status: OK,Status: OK,Status: OK,Status: OK,Status: OK,Status: OK,Status: BAD,Status: BAD,Status: BAD,Status: BAD,Status: BAD,Status: BAD,Status: BAD,Status: BAD,Status: BAD,Status: CRITICAL,Status: CRITICAL,Status: CRITICAL,Status: CRITICAL,Status: CRITICAL,Status: CRITICAL]
試行
天気が悪いと判断したクラスでは、ステータスが悪い、またはOKの場合は、各ステータスのリスト値を作成し、その値をIFステートメントのリストに追加してステータス値を決定します。
クラス
public class Album implements Runnable {
static List<AlbumModel> data = new ArrayList<AlbumModel>();
static List<AlbumModel> criticalList = new ArrayList<AlbumModel>();
static List<AlbumModel> badList = new ArrayList<AlbumModel>();
static List<AlbumModel> okList = new ArrayList<AlbumModel>();
//getters and setters
/**************doing many stuff ****************/
memoryUtilization = 100 - memoryUtilization;
if (memoryUtilization <= badThreshold
&& memoryUtilization > criticalThreshold) {
Status = "BAD";
badList.add(new AlbumModel (Status));
}else if (memoryUtilization <= criticalThreshold) {
Status = "CRITICAL";
criticalList.add(new AlbumModel (Status));
}
else {
Status = "OK";
okList.add(new AlbumModel (Status));
}
data.add(new AlbumModel (Status));
はその後、私のコントローラクラスで私は値を取得するには、クラスと呼ばれます。これが私の質問を解決する正しい方法でしょうか? Javaの8を使用して
インデックスコントローラー
@Controller
public class IndexController {
@Autowired
private AlbumList albumL;
public ModelAndView getdata() throws IOException {
List<AlbumModel> list = albumL.getList();
List<AlbumModel> albumCritList = Album.getCritList();
List<AlbumModel> albumBadList = Album.getBadList();
List<AlbumModel> albumOkList = Album.getOkList();
を繰り返し? – Taelsin
リストを分割したり、リスト全体を3つのうちの1つに追加したいですか? – Akceptor
どのように擬似コードで試しましたか? – haifzhan