タグ

javaに関するadvblogのブックマーク (70)

  • Comparator (Java Platform SE 6)

    java.util インタフェース Comparator<T> 型パラメータ:T - このコンパレータにより比較されるオブジェクトの型 既知の実装クラスの一覧: Collator, RuleBasedCollator public interface Comparator<T> オブジェクトのコレクションで「全体順序付け」を行う比較関数です。コンパレータ (Comparator) をソートメソッド (Collections.sort や Arrays.sort など) に渡すと、ソート順を正確に制御できます。また、コンパレータを使用すると、ソートセットやソートマップなどの特定のデータ構造の順序を制御したり、自然順序付けを持たないオブジェクトのコレクションに順序付けを提供したりすることもできます。 コンパレータ c が要素のセット S で行う順序付けは、S のすべての e1 および e2 に

    advblog
    advblog 2015/07/09
  • ArrayList 要素のソートと Comparator - Java 入門

    YouTube 解説ビデオ「オブジェクトを並べ替えるとは?コンパレータの実装方法」 オブジェクトのソートとコンパレータの実装方法について、解説ビデオを作成しました。 このページで書いている内容をほぼそのまま説明してます。 このビデオを見ていただければ、すぐわかると思います。 励みになりますので、できればチャンネル登録もお願いします リスト内の要素の並べ替えとは? ArrayList というのは何らかの要素 (オブジェクト) が数珠繋ぎに並んでいて、インデックスを使って配列のごとく特定の要素にアクセスできるというコレクションのことです。 今回はこのオブジェクト要素を何らかの条件に従って並び替えたい、ソートしたいという場合のことを考えます。 例えば整数の並び替えならば、大きなものから小さなものへとか、小さなものから大きなものへという風にソートされることは分かりやすいですね。 ですが、例えば「従

    ArrayList 要素のソートと Comparator - Java 入門
    advblog
    advblog 2015/07/09
  • Java Comparatorメモ(Hishidama's Java Comparator Memo)

    概要 Comparator(コンパレーター)は、“比較を行う関数”を表すインターフェース。 import java.util.Comparator; ComparatorオブジェクトをCollections.sort()・Arrays.sort()メソッドやTreeMap・TreeSetのコンストラクター等に渡すことで、ソート順(並び替えの順序)を制御することが出来る。 実装方法(JDK1.7以前) Comparatorインターフェースには、(抽象メソッドとして)compareとequalsが宣言されている。 public interface Comparator<T> { public int compare(T o1, T o2); public boolean equals(Object obj); } compareメソッドは引数を2つ受け取り、等しい場合は0、o1がo2より小さい

    advblog
    advblog 2015/07/09
  • C系言語(C,C++,Objective-C,Java)で高階関数を使ってみる - WonderPlanet DEVELOPER BLOG

    はじめまして。エンジニアをしています、鷲見と申します。 今回は高階関数とラムダ式について書いてみようと思います。 高階関数とは 高階関数(こうかいかんすう,higher-order function)とは引数に関数を指定できたり、 戻り値として関数を返せる関数で、関数型言語などで使用されます※1。 高階関数を使用するメリットは、単純な関数を組み合わせることにより、 柔軟性の高いコードを書くことが出来るという点です。 高階関数の例として関数型言語Schemeのmap関数を見てみます。 map関数は、指定したリストのそれぞれの要素に対して同じ関数を適用する関数です。 例えばリストの要素を全て2乗したい場合は以下のように書くことができます。 ; xの2乗を返す関数を定義 (define (square x) (* x x)) ; リストの要素(1から5までの数値)を2乗する (map squar

    C系言語(C,C++,Objective-C,Java)で高階関数を使ってみる - WonderPlanet DEVELOPER BLOG
  • さすけのプログラミング入門(SQL)

    403 Error 現在、このページへのアクセスは禁止されています。 詳しくは以下のページをご確認ください。 403ERRORというエラーが発生します

    さすけのプログラミング入門(SQL)
  • PowerDBJ Eclipse Plugin

    概要 PowerDBJはデータベースの定義から HTMLテーブル定義書, Excelテーブル定義書, JAVA Dtoクラスのソースファイル, PowerQL用DAO,DAOImplソースファイル を出力するEclipseプラグインです。 特徴 ・テンプレート定義書のカスタマイズが可能(HTML,Excel,JAVA) ・JDBC経由でアクセスするのでJDBCが利用可能なDBMSであれば全て利用可能 ダウンロード SourceForgeより最新版をダウンロードしてください。 インストール方法 ダウンロードしたアーカイブに含まれる plugins フォルダを 導入したいEclipseのフォルダにコピーします。 例)Eclipse が C:/eclipse に配置されている場合, C:/eclipse に アーカイブ内の plugins フォルダをコピー Eclipseを再起動するとインストー

  • ジェームズ・ゴスリング氏、グーグルへ

    Javaの生みの親ジェームズ・ゴスリング(James Gosling)氏は自身のブログOn a New Roadにポストした記事「Next step on the road...」で、グーグルに就職したことを報告しています。 I find myself starting employment at Google today. 今日からグーグルの社員として働き始めるのだ ゴスリング氏はオラクルがサン・マイクロシステムズを買収した後の2010年4月2日にオラクルを退社していました。それ以来、多くの企業からオファーがあったようです。 One of the toughest things about life is making choices. I had a hard time saying "no" to a bunch of other excellent possibilities. 人

    ジェームズ・ゴスリング氏、グーグルへ
  • Java総称型のワイルドカードを上手に使いこなすための勘所 - 達人プログラマーを目指して

    Java5以降では総称型(generics)がJava言語に導入されています。総称型自体は、最近の静的な型付けのプログラミング言語で珍しいことではなく、現在の最新版では.NETのC#やVisual Basicにも導入されています。一般的には総称型をサポートするクラスライブラリを自分で正しく定義することは非常にスキルがいるが、事前に定義されたクラスを使うだけであれば、それほど難しくないとされています。しかし、Java言語の総称型はエントリで説明するように特殊なところがあり、単に利用するだけでも他の言語に比べて遥かに難しいところがあるというのも事実です。特に総称型をパラメータ化する際に指定するワイルドカード型(List<? extends Serializable>など)の意味を正しく理解して使いこなすことは簡単なことではありません。その結果、昔のJDK1.4までのように型パラメーターのない

    Java総称型のワイルドカードを上手に使いこなすための勘所 - 達人プログラマーを目指して
    advblog
    advblog 2011/03/27
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
    advblog
    advblog 2011/03/05
  • Java と ActionScript 3.0 の違い: 文法編

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Java と ActionScript 3.0 の違い: 文法編
  • 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して

    Java: The Good Partsののタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす

    業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して
    advblog
    advblog 2011/02/26
  • 連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)
  • オラクル統合後の Java の今後について

    […] This post was mentioned on Twitter by Yuichi Sakuraba, ☢Yoshifumi YAMAGUCHI, mogemogu, Takuma SHIRAISHI, Hideaki Takahashi and others. Hideaki Takahashi said: RT @yoshioterada: オラクル統合後の Java の今後について http://wp.me/pNpvd-jQ […]

  • Java使いをScalaに引き込むサンプル集 | mwSoft

    前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 記事では、ScalaJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaJava

  • 浮動小数点変換バグはJavaにもあった

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « OCE@N SG No.2 :: Windows 7 SP1 は 2/22 » 2011/02/10 浮動小数点変換バグはJavaにもあった  php  java  cve  PoC 46 1へぇ 先日、PHPで特定の浮動小数点数を入力するとハングするという問題*1*2があって、急遽アップデート版が出たりとかしてちょっとした騒ぎになりました。 <?php $d = 2.2250738585072011e-308; これと同じような問題がJavaにもあった模様。 ・Security Alert For CVE-2010-4476 Released (The Oracle Global Product Security Blog) ・Java Hangs When Converting 2.22507

    浮動小数点変換バグはJavaにもあった
    advblog
    advblog 2011/02/11
  • 【レポート】高レベルな戦いとなったRICOH&Java Developer Challenge 2010の最終選考 | エンタープライズ | マイコミジャーナル

    リコーが開催する「RICOH&Java Developer Challenge 2010」の最終選考会が1月13日、都内にて開催された。同コンテストは、前年まで「RICOH&SUN Java Challenge」と銘打たれて実施されてきたもので、3回目の開催となる今回はSun MicrosystemsがOracleに買収されたこともあり、これまでのSun Microsystemsの協賛から、オラクルが協力企業として参加する形で開催された。 ルール自体はこれまでと変更はなく、JVM(Java Virtual Machine)を搭載したリコーのマルチファンクションプリンタ(MFP)上で、組み込みJavaプログラミングによる「ビジネスアプリケーション」を学生の自由な発想のもとに開発を行い、その成果を競うというもの。参加資格は国内大学の学生と指導教官となっており、参加学年の制限などはないのも前回と

    advblog
    advblog 2011/02/08
  • Googleが開発したJavaデバッグを簡単にする新技術「cofoja」 | エンタープライズ | マイコミジャーナル

    Java Programming Language Googleの20%プロジェクトからJava向けの新しい技術「cofoja (Contracts for Java)」が公開された。既存の実装に大きく手を加えることなく、デバッグをより簡単にしてくれる効果が期待できる。バグは些細なコードが起こすものだったりするが、それを追跡して発見するのは時に困難を極める。これは問題が発生した箇所と、実際にバグがある箇所が大きく離れていることが理由になっていることもある。問題発生箇所とバグ発生箇所を近くにまとめることができれば、それだけバグ発見も取り組みやすくなる。 cofojaはこれを簡単に実現するための技術。インタフェースに制約表現を追加可能にするところがポイントとなっており、クラスの実装に手を加えなくてもインタフェースに制約表記を追加することで実行時にチェックできるようになる。ブログに掲載されている

  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • NASAのJavaベースのデータグリッド技術「OODT」、Apacheのトップレベルプロジェクトに | OSDN Magazine

    オープンソースの非営利団体Apahce Software Foundation(ASF)が米航空宇宙局(NASA)のJavaミドルウェアプロジェクト「OODT」をトップレベルプロジェクトにした。NASAが1月4日に発表、これによってOODTはASFよりプロジェクト管理とリソースの支援を受けるプロジェクトとなった。 OODTは「Object Oriented Data Technology」の略で、元々はNASAがカリフォルニア州に持つ研究所Jet Propulsion Laboratoryで1998年に開発されたJavaベースのデータグリッドフレームワーク技術NASAの惑星科学データシステムPlanetary Data System(PDS)などが利用している。2005年にオープンソースとなり、2010年にASFの下でIncubatorプロジェクトとしてスタートした。 OODTを利用する

    NASAのJavaベースのデータグリッド技術「OODT」、Apacheのトップレベルプロジェクトに | OSDN Magazine
  • データベースの差分表示·DiffKit MOONGIFT

    DiffKitはデータベース/CSVファイル間の差分を抽出する。 [/s2If] DiffKitJava製のオープンソース・ソフトウェア。適切なデータベース管理を行っていない状態で運用を続けていると、いつの間にか開発環境と実行環境で構造の不一致がおこる。カラムの順番が違う程度ならいいが、なぜあるのか分からないカラムが出てきたりすると厄介だ。 データベースの構造不一致は様々な問題を引き起こす可能性がある。早めの対処が必要だ。そのためにはまず現状分析を行う必要があるだろう。手作業で行う必要はない、DiffKitを使えば容易に知ることができる。 DiffKitは二つのデータベース間における構造不一致を表示するためのツールだ。Diffツールのデータベース版ともいえる。特徴としてJDBCによるデータベース接続をサポートする他、CSVファイルにも対応していることが挙げられる。片方がCSV、片方がデー